Regex exclude不't仅排除字符串的第一个字符
Regex exclude doesn't exclude string only first character
首先我们有以下字符串:
aaa{ignoreme}asdebla bla f{}asdfdsaignoreme}asd
我们希望我们的正则表达式能找到空白和任何特殊的字符,如{}
,但如果{
之后正好是ignoreme}
,则将其排除在之外
这就是我们现在的处境:
(?!{ignoreme})['s'[']{}()<>'''"|^`]
问题是我们的正则表达式在ignoreme 之后找到}
这是链接https://regex101.com/r/bU1oG0/2
感谢任何帮助,感谢
关键是}
是匹配的,因为您的(?!{ignoreme})
前瞻只跳过后面跟着ignoreme}
的{
,并匹配}
,因为它没有启动{ignoreme}
字符序列。此外,在JS中,您不能使用类似(?<!{ignoreme)}
的lookbacking。
这是一种可以用正则表达式处理的问题,该正则表达式匹配您不需要的内容,并匹配和捕获您需要的内容:
/{ignoreme}|(['s[']{}()<>'''"|^`])/g
查看regex演示
现在,{ignoreme}
匹配(您不必使用此值),(['s[]{}()<>'''"|^`])
被捕获到需要使用的值的组1中。
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- 下划线的 _.,但不排除以下数组中的子字符串
- 用于排除.each上的字符串输入的Javascript
- js语法,用于排除字符串
- 正则表达式负前瞻以排除字符串
- 查找带有 _id 的字符串并排除一个值
- 如何在运行时使用jquery在html页面中包含和排除电话号码字符串
- Regex获取字符和空白之间的字符串,并排除第一个分隔符
- 匹配字符串中的一个模式但排除另一个模式的Javascript正则表达式
- 排除带有特定数字的输入字符串的正则表达式
- Regex测试字符串包含一个特定的模式,并排除特定的符号使用javascript
- Dojo,过滤选择,查询和排除字符串
- 在表筛选程序中排除字符串的一部分
- 当提交到MVC控制器时,使用DataAnnotations来排除特定字符串
- Regex,它可以通过使用负环顾来排除子字符串
- 排除第一个字符串不追加到字符
- Javascript正则表达式获取子字符串,排除模式
- Regex exclude不't仅排除字符串的第一个字符
- 在字符串的同一部分上排除正则表达式
- 我如何从匹配中排除模式中的任何字符串