23

少し冗長に思えることはわかっていますが、正規表現を何にでも一致させたいと思います。

現時点では使用して^*$いますが、どのテキストでも一致しないようです。

テキストがないことを手動でチェックしますが、使用するテスト ビューは常に正規表現で検証されます。ただし、正規表現を使用して何かを検証する必要がある場合があります。つまり、テキスト フィールドの内容は問題ではなく、何でもかまいません。

私は実際に正規表現を作成していません。私は正規表現の完全な初心者です。

4

4 に答える 4

35

正規表現.*は何でも一致します (Junuxx が指摘しているように、空の文字列を含みます)。

于 2013-03-19T09:54:35.957 に答える
8

^は行頭アンカーであるため、「ゼロ幅一致」になります。つまり、実際の文字には一致しません (そして、の後に一致した^最初の文字が文字列の最初の文字になります)。同様に、$は行末アンカーです。

*指定子です。それ自体は何にも一致しません。パターンの一部が一致する回数を示すだけです。具体的には、前の「アトム」(つまり、前の文字または前の括弧で囲まれたサブパターン) が何度でも一致する可能性があることを示します。

文字セットを実際に一致させるには、文字クラスを使用する必要があります。RichieHindle が指摘したように、ここで必要な文字クラスは です。これは.、改行以外の任意の文字を表します (適切なフラグを使用して改行にも一致させることができます)。So.*は、(任意の数) が(任意の文字)*に一致することを表します。.同様に、(任意の文字)に対する (少なくとも 1 つの) 一致を.+表します。+.

于 2013-03-21T23:16:59.933 に答える
1

これは少し古い投稿であることは知っていますが、次のようなさまざまな方法があります。

  1. .*
  2. (.*?)
于 2016-06-09T08:53:27.750 に答える