web-dev-qa-db-ja.com

複数の文字列を検索するための正規表現(テキストパッド)

私は正規表現に少し慣れていないため、* 8768、* 9875、* 2353などのワイルドカード文字列の複数の行/インスタンスを検索しようとしています。

個別に検索するのではなく、これらのすべてのインスタンスを(1つのファイル内で)取得したいと思います。

どんな助けも大歓迎です。 * 8768、* 9875などのことを試しました...

35
gfuller40

あなたが何を求めているのか理解できれば、それは次のような正規表現です。

^(8768|9875|2353)

これは、行頭のみで3セットの数字列と一致します。

51
wallyk

テキスト87689875または2353を含む行を取得するには、次を使用します。

^.*(8768|9875|2353).*$

その意味:

^                      from the beginning of the line
.*                     get any character except \n (0 or more times)
(8768|9875|2353)       if the line contains the string '8768' OR '9875' OR '2353'
.*                     and get any character except \n (0 or more times)
$                      until the end of the line

リテラル* charが必要な場合は、エスケープする必要があります。

^.*(\*8768|\*9875|\*2353).*$
31
acdcjunior

私ははるかに良い解決策を提案します。私の場合のタスク:各レコードの前に http://google.com/ パスを追加し、複数のフィールドをインポートします。

CSVの単一フィールド値(すべての画像にはファイル名があり、|で区切られています):
"123.jpg | 345.jpg | 567.jpg"

タンパー1プラグイン:REGEXPによる検索と置換:パターン:/([a-zA-Z0-9]*)./ replacement: http://google.com/ $ 1

改ざん2番目のプラグイン:爆発設定:爆発者|

この場合、追加フィールドのマッピングは不要で、CSVで1つのフィールドを使用できます

0
Alex