など。この1つは、TE仕事をすることができグループ内の文字列と一致する正規表現
aaa dsfj gjroo gnfsdj riier aaa
sdf foiqjf skdfjqei adf sdf sdjfei sdf
rew123 jefqeoi03945 jq984rjfa;p94 ajefoj384 rew123
など。この1つは、TE仕事をすることができグループ内の文字列と一致する正規表現
aaa dsfj gjroo gnfsdj riier aaa
sdf foiqjf skdfjqei adf sdf sdjfei sdf
rew123 jefqeoi03945 jq984rjfa;p94 ajefoj384 rew123
:私は、以下の文字列が一致するように、開始時と終了時に同じ単語を文字列に一致します
/^(\w+\b).*\b\1$/
は説明:
/ : regex delimiter
^ : start of string
( : start capture group 1
\w+ : one or more word character
\b : word boundary
) : end of group 1
.* : any number of any char
\b : word boundary
\1 : group 1
$ : end of string
/ : regex delimiter
ここで正規表現は正しい選択ではないと思います。配列に行を分割し、最初と最後の項目を比較しないのはなぜ:
C#の場合:
string[] words = line.Split(' ');
return words.Length >= 2 && words[0] == words[words.Length - 1];
M42の答えは、縮退の場合を除いてokです - それは、文字列と一致しません。 1つの単語だけで1つの正規表現の使用内のものを受け入れるために:
/^(?:(\w+\b).*\b\1|\w+)$/
はまた、必要な部分のみが非常に大きな文字列に大幅に速いかもしれ一致します。 JavaScriptを私の解決策をHere're:
正規表現:
function areEdgeWordsTheSame(str) {
var m = str.match(/^(\w+)\b/);
return (new RegExp(m[1]+'$')).test(str);
}
文字列:
function areEdgeWordsTheSame(str) {
var idx = str.indexOf(' ');
if (idx < 0) return true;
return str.substr(0, idx) == str.substr(-idx);
}
ありがとう! '\ 1'は私が検索したものです。 –