0

ここでは、正規表現を実行します。ここで、_patternはチームのリストであり、_nameは_patternと一致するかどうかを確認するキーワードです。

結果はそれが一致したことを示しています。キーワードが_patternとはまったく違うのに、なぜそれが可能なのか疑問に思います。é記号と関係があるのではないかと思います。

string _pattern = "Ipswich Town F.C.|Ipswich Town Football Club|Ipswich|The Blues||Town|The Tractor Boys|Ipswich Town";
string _name = "Estudiantes de Mérida";
regex = new Regex( @"(" + _pattern + @")", RegexOptions .IgnoreCase );

Match m = regex. Match (_name );
if (m . Success)
{
   var g = m. Groups [1 ]. Value;
   break ;
}
4

1 に答える 1

0

é記号とは何の関係もありません。いくつか見てみましょう。

2つあるのは正しいですか| あなたの質問が定式化するように:

The Blues||Town

また、ポイントは正規表現で特別な意味を持っているので、エスケープする必要があります

meaIpswich Town F\.C\.

また、代替案は括弧で囲む必要があります。

(Ipswich Town F.C.)|(Ipswich Town Football Club)|(Ipswich)|

次のJava行の括弧は必要ありません

regex = new Regex( @"(" + _pattern + @")"

とにかく、それが一致する理由は、有効な正規表現には当てはまりません。これは、JavaAPIの使用に関係していると思います。

私があなたの目的のために書き直す正規表現は次のとおりです。

^((Ipswich Town F\.C\.)|(Ipswich Town Football Club)|(Ipswich)|(The Blues)|(Town)|(The Tractor Boys)|(Ipswich Town))$

ご覧のとおり、いくつかの違いがあります。

于 2012-05-24T19:03:46.470 に答える