为什么这个正则表达式可以在有或没有转义的连字符/破折号的情况下工作?
Why does this regex work with and without hyphens / dashes escaped
给定以下字符串:
blablabla
X-FOO-BAR:blaaaa
blafoobla
这两个正则表达式都删除了第二行
s/X-FOO-BAR.*?$//gismo
s/X'-FOO'-BAR.*?$//gismo
我不完全理解为什么没有连字符的正则表达式在这种情况下工作。有人能帮我澄清一下吗?我已经测试了它在perl和javascript正则表达式引擎。
干杯!
当连字符不在字符类中时,不需要转义。在字符类中,必须将连字符放在开头或最后。但是如果你把它放在中间,转义可能起作用,也可能不起作用。
相关文章:
- 如何将单词(包括单词)与连字符匹配
- 删除图形和数字之间的连字符(-)符号
- JQuery根据连字符前的首字母对列表进行排序
- 如何替换javascript字符串中的前三个连字符
- 带有连字符的 Jquery 表排序器编号
- Javascript将所有文本框值更改为连字符
- regex中连字符的这种用法有效吗
- 使用连字符引用对象的属性名称
- 用连字符分隔匹配值
- 跳过用户输入的文本字符串中的特殊字符,并在 Javascript 中的每个单词后添加连字符
- 为什么不'我的javascript函数允许点,但允许连字符
- 如何防止电子邮件地址的css自动连字符
- 在数组中的偶数之间插入连字符
- JS Regex只允许数字、分号和连字符
- Javascript正则表达式,返回连字符和空格后面的数字
- jQuery只允许使用数字、字母和连字符
- 为什么这个正则表达式可以在有或没有转义的连字符/破折号的情况下工作?
- 如何在JS比较中忽略破折号或连字符
- Angularjs在ngSrc中使用连字符或破折号转义json
- 如何在使用lodash _.words时不分隔破折号/连字符