匹配不以 &. 开头的字词
Match words not beginning with &
我需要一个可以匹配不以 & 字符开头的单词(不区分大小写)的正则表达式
例如搜索字符串 Foo
然后匹配将是这样的:
- 噗
- 噗��
- 傅
- 福吧
- 酒吧福
- 酒吧福 酒吧
- 福酒吧
- $Foo酒吧 $
- 福$
- Foo $Foo %Foo &Foo Foo
使用如下所示的否定后看断言,
(?i)(?<!&)foo
解释:
-
(?i)
不区分大小写的修饰符。 -
(?<!&)
负面回头断言比赛之前将出现任何但不是&
特征。 -
foo
匹配字符串 foo
演示
对于 js,
/(?:[^&]|^)(foo)/igm
从组索引 1 中获取所需的字符串。
演示
> var s = "Foo $Foo %Foo &Foo Foo";
undefined
> var re = /(?:[^&]|^)(foo)/igm;
undefined
> var m;
undefined
> while ((m = re.exec(s)) != null) {
... console.log(m[1]);
... }
Foo
Foo
Foo
Foo
通过string.replace
方法。
> var s = "Foo $Foo %Foo &Foo Foo";
undefined
> s.replace(/([^&]|^)(foo)/igm, "$1bar")
'bar $bar %bar &Foo bar'
对于模式来说,这应该是Javascript友好的。它使用非捕获组,并确保foo
前面没有与号 (&)
(?:[^&])[fF][oO][oO]
非 foo 字符将显示在匹配中,但不显示在结果/捕获中。
编辑:您可以在javascript正则表达式语法中使用"i"标志来调用不区分大小写的模式modiefer。那么模式就会(?:[^&])foo
相关文章:
- 我可以配置默认的角度过滤器以显示字符串,以便以搜索词开头的字符串排在第一位
- 输入字段标记验证以C或G开头
- 匹配开头和结尾的字词
- 阻止子域中某处包含特定字词的网址
- 仅替换段落中的字词
- Google Analytics应用脚本获取包含特定字词的所有媒体事件标签
- 使用缩写字词设置谷歌图表表格列的格式
- jQuery MaskMoney - 将输入设置为字段的开头
- 在网址中粘贴字词
- 验证具有多个值的输入字段的开头
- JavaScript中的正则表达式获取以特定字符串开头的数组的所有字段
- 谷歌广告字词转化跟踪代码中的条件语句
- 匹配不以 &. 开头的字词
- Web 语音 API 自定义字词
- 有没有办法让我使用 javascript 检查字符串是否以“错误”一词开头
- 只允许HTML字段以某些单词开头
- JavaScript:从HTML输入字段中获取字符串,通过首字母缩略词生成代码进行处理
- 为什么"字"在一些JavaScript语句的开头不会抛出语法错误
- 以零数字开头的参数没有正确传递给JavaScript函数
- 关闭并重新打开特定字词周围的标记