3

正規表現の質問:2つの単語が1行に同時に表示される場合、1つは一致しますが、3つ以上離れている場合は一致しませんか?

例:match and Apartは、「単語を離して一致させる試みは成功しません」と「2つの単語を離して一致させる試みは成功しません」では一致しますが、「3つ以上の単語を離して一致させる試みは成功しません」では一致しません。

ありがとう。

4

3 に答える 3

2

各単語は、のようなもので定義できます\w+\s

3語以内で次のように書くことができます(\w+\s){0,3}

したがって、正規表現は次のようになります。

/match\s(\w+\s){0,3}apart/
于 2012-11-11T11:48:05.283 に答える
1

これは機能するはずです:

match\s+(\S+\s){,2}apart

\sは空白文字で\Sあり、非空白文字です。単一行のアスペクトの場合、改行文字とを含むように変更\sすることをお勧めします。[^\S\n\r]\s\n\r

于 2012-11-11T11:48:19.323 に答える
0

もちろん。これは単語の定義方法によって異なりますが。たとえば、文字だけを単語と見なし、文字以外のすべての文字を区切り文字と見なすとしましょう。

firstword[^a-zA-Z\r\n]+(?:[a-zA-Z]+[^a-zA-Z\r\n]+){0,2}secondword

[a-zA-Z]任意の文字です。[^a-zA-Z\s]非文字、非改行文字。それがほとんどすべてです。

于 2012-11-11T11:47:20.440 に答える