您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

通过新的RegExp(myString)创建的正则表达式不起作用(反斜杠)

通过新的RegExp(myString)创建的正则表达式不起作用(反斜杠)

请忽略我的近距离投票。您的问题是字符串中的反斜杠具有特殊含义;如果要在正则表达式中使用反斜杠,则首先需要在传递给正则表达式的字符串中获取文字反斜杠:

new RegExp('\\b[\\d \\.]+\\b','g');

请注意,这是一个非常糟糕的(允许)正则表达式,因为它将匹配". . . "为“数字”或"1 1...3 42"。更好的可能是:

/-?\d+(?:\.\d+)?\b/

请注意,这匹配0000.3不匹配的奇怪事物:

还要注意,使用RegExp构造函数比使用RegExp文字慢(略),并且习惯用法肯定更少。仅当需要根据提供的字符串构造RegExp时,使用它才是一个好主意。大多数不仅仅通过JavaScript的人都会发现该/.../符号完全清楚。

其他 2022/1/1 18:15:31 有399人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶