私は次の式を使用しています。正規表現はネットでは動作しません
W \ [A-C] {3}
を目的は、それらの前に任意の文字を持っていないAとCの間に何の3つの文字が一致することです。したがって、入力 "ABC"では一致しますが、 "DABC"では一致しません。
さまざまなオンライン正規表現ツール(たとえば、http://gskinner.com/RegExr/)を使用してこの式を試してみると、完全に機能します。 asp.net RegularExpressionValidatorまたはRegExクラスで使用しようとすると、何も一致しません。
私は、マッチの前に文字を許可しないさまざまな方法を試しました。例えば。
[^\w] and [^a-zA-Z0-9]
すべてがオンラインツールで動作しますが、.netでは動作しません。
このテストは失敗しますが、その理由はわかりません。
[Test]
public void RegExWorks()
{
var regex = new Regex("\\W[A-C]{3}");
Match match = regex.Match("ABC");
Assert.IsTrue(match.Success);
}
ええ、あなたの権利は機能します。しかし、奇妙なことに、私はhttp://gskinner.com/RegExr/で試してみるとうまくいかない - 3つの答えのうちどれが一番良いのか分からないのですか?彼らはすべて働いています – Robbie
これはかなり標準的なreg exですので、私はそこではうまくいかないのか分かりません。もしあなたがreg ex siteに行ったら、それは... –