在键入前四个字符后开始匹配特定的整个单词
Start matching specific whole words after the first four characters are typed
下面的正则表达式匹配整个单词 service
、generic
、computer
或 master
:
(?:^|(?<= ))(service|generic|computer|master)(?:(?= )|$)
我希望它在前 4 个字符与模式匹配后立即匹配。
提前致谢。
使用嵌套的可选组。请注意,您还可以通过将 (?:^|(?<= ))
和 (?:(?= )|$)
交替替换为 (?<!\S)
和 (?!\S)
环视来缩短边界模式。
图案看起来像
(?<!\S)(serv(?:i(?:ce?)?)?|gene(?:r(?:ic?)?)?|comp(?:u(?:t(?:er?)?)?)?|mast(?:er?)?)(?!\S)
详情
(?<!\S)
- 不允许紧邻当前位置左侧的非空白
(
- 交替组开始:
serv(?:i(?:ce?)?)?
- serv
、servi
、servic
或 service
|
- 或
gene(?:r(?:ic?)?)?
- gene
、gener
、generi
或 generic
|
- 或
comp(?:u(?:t(?:er?)?)?)?
- comp
、compu
、comput
、compute
或 computer
|
- 或
mast(?:er?)?
- mast
、maste
或 master
)
- 交替组结束
(?!\S)
- 不允许紧靠当前位置右侧的非空白。
下面的正则表达式匹配整个单词 service
、generic
、computer
或 master
:
(?:^|(?<= ))(service|generic|computer|master)(?:(?= )|$)
我希望它在前 4 个字符与模式匹配后立即匹配。
提前致谢。
使用嵌套的可选组。请注意,您还可以通过将 (?:^|(?<= ))
和 (?:(?= )|$)
交替替换为 (?<!\S)
和 (?!\S)
环视来缩短边界模式。
图案看起来像
(?<!\S)(serv(?:i(?:ce?)?)?|gene(?:r(?:ic?)?)?|comp(?:u(?:t(?:er?)?)?)?|mast(?:er?)?)(?!\S)
详情
(?<!\S)
- 不允许紧邻当前位置左侧的非空白(
- 交替组开始:serv(?:i(?:ce?)?)?
-serv
、servi
、servic
或service
|
- 或gene(?:r(?:ic?)?)?
-gene
、gener
、generi
或generic
|
- 或comp(?:u(?:t(?:er?)?)?)?
-comp
、compu
、comput
、compute
或computer
|
- 或mast(?:er?)?
-mast
、maste
或master
)
- 交替组结束(?!\S)
- 不允许紧靠当前位置右侧的非空白。