我有这样的字符串:
var str = "When Home is on fire go and dance in fire"
Run Code Online (Sandbox Code Playgroud)
我想检查我的字符串是否有单词home和fire
为此,我使用了这个正则表达式:
var words = str.match(/(home)|(fire)/ig)
Run Code Online (Sandbox Code Playgroud)
和这样的输出:
["Home", "fire", "fire"]
Run Code Online (Sandbox Code Playgroud)
如您所见,fire匹配两次,我希望忽略重复匹配并只显示一次。
感谢您的帮助。
您可以使用这个基于负前瞻的正则表达式来确保仅当文本中不再存在相同的单词时才匹配所需的单词,从而匹配最后一次出现的搜索单词:
/(home|fire)(?!.*\1)/ig
Run Code Online (Sandbox Code Playgroud)
输出:
["Home", "fire"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3507 次 |
| 最近记录: |