比这更好的正则表达式方法
better approach regex than this
>我将输入限制为仅接受以下字符:
- 撇号 '
- 左括号 (
- 右括号)
- 逗号 ,
- 连字符 -
- 期间 .
- 字母数字 A-Z a-z 0-9
- 空间
我想出了这个正则表达式:
/^['(),-.A-Za-z0-9's]+$/
我在这里违反了任何正则化顺序吗?我只想根据我在上面的项目符号上说明的顺序来获得正则表达式的顺序。
在
@Mark Linus 的问题评论中调整正则表达式:
/^[-'(),.'w's]+$/
(将连字符移动到字符类的开头)
原因:在正则表达式字符类中,-
指定字符范围,除非它是第一个或最后一个字符。
,-.
表示从 ,
到 .
(含)的任何字符。碰巧的是,-
是这两者之间的单个字符(基于 ASCII 值),因此在这种情况下效果相同。但是,将连字符放在字符类中除开头或结尾以外的任何位置可能不是一个好主意,除非您打算指定范围。
据我所知,没有真正的值规则顺序这样的东西。只是为自己编造一些东西,并在所有表达中保持一致。只需使用任何感觉舒适的东西。
相关文章:
- 使用replace方法替换innerHTML以及在Javascript中不起作用的正则表达式
- 如何在字符串上组合JS replace()方法中的3个正则表达式模式
- Javascript 将方法替换为数组和正则表达式
- 比这更好的正则表达式方法
- 在数组中存储 JS 正则表达式捕获组的最佳方法
- 正则表达式 - 替换方法从字符串中删除运算符产生不希望的结果
- 正则表达式和数组:最有效的方法
- 进行此正则表达式替换的好方法
- 使用正则表达式时出现 Javascript 错误 - 对象不支持此属性或方法
- 最佳正则表达式方法
- 在 Javascript 中使用替换方法插入的正则表达式
- 指定与行末尾的句点匹配的JavaScript正则表达式的正确方法是什么
- 正则表达式/替换方法Javascript
- javascript中的正则表达式和替换方法
- 有没有任何方法可以得到正则表达式模式的所有可能结果
- 为什么在调用.test()方法时,将JavaScript正则表达式保存到变量会产生不同的结果
- 使用正则表达式的javascript中的String.replace方法
- 在Node.js中实现更好的正则表达式的方法
- 在javascript正则表达式中检查“this AND that WITHOUT this”的方法
- Javascript正则表达式"方法:记忆bug / effect