が検索を開始する正規表現を作成するにはどうすればよいですか?言い換えれば開始インデックスで正規表現を一致させる方法は?
:
「それはメイン文字列の先頭にない場合でも、検索の開始時に一致」、と言う\A
の同等とは何ですか?
\G
ある
new Regex(@"\A\n").IsMatch("!\n", 1); // Should be true, but is false
が検索を開始する正規表現を作成するにはどうすればよいですか?言い換えれば開始インデックスで正規表現を一致させる方法は?
:
「それはメイン文字列の先頭にない場合でも、検索の開始時に一致」、と言う\A
の同等とは何ですか?
\G
ある
new Regex(@"\A\n").IsMatch("!\n", 1); // Should be true, but is false
:
new Regex(@"\G\n").IsMatch("!\n", 1); // It's twue, it's twue!
これは実際には、私には驚きでした。私は\G
を知っていましたが、それは通常、最新の成功した試合の入力の終わりまたは最後に一致するアンカーとして記述されます。どちらもここには適用されません。これが.NETの革新であれば、それについてもっと騒がしいはずです。それはとても便利なように見えます。
EDIT: Javaのfind(int)
も同じように動作します。私は広範囲に使用しています。しかし、その後、Java 5の "regions" APIを追加しました。これはより細かい制御を提供しています。私はこのイディオムを忘れていました。私は.NETでそれを探すことは決して考えなかった。
私はそれがtwueだとは思わない! +1 – Mehrdad
+1うわー、あなたはそれを見つけました!そして、それは[.NET 1.1](http://msdn.microsoft.com/en-us/library/h5181w5w(v = VS.71).aspx) – NullUserException
Oooohの私はただのオーバーロードは、我々は彼らに期待するように動作しません... Regex.Match
に関する本の中で4〜5年前〜
を私が読んだ何かを思い出しました!
過負荷
Regex.Match(string input, int index, int length)
検索がを開始すべきところ、過負荷
Regex.Match(string input, int index)
は単に指示に対し、検索するサブを指定します!
(1ケースそれはサブで任意位置から開始抜けて、私は推測する。)
希望、これは人々のための啓発です...
+1以来存在しているようです。うん、新しい正規表現(@ "\ A \ n")が出てくる。Match( "!\ n"、1,2).Successもtwueだ。それらのトリッキーな小さな悪魔! –
@NullUserExceptionఠ_ఠ:私は長いループでこれをやっているので、非常にコストがかかるでしょう。 – Mehrdad