简化 JavaScript 正则表达式
Simplify JavaScript regexp
如何简化我的正则表达式(^('w+)'/('w+)'/('d+)$|^('w+)'/('w+)'/$|^('w+)'/('w+)$)
以匹配controller/action(/id)
等示例?我目前的正则表达式看起来又长又复杂:(
匹配示例:
controller/action
controller/action/
controller/action/123
不匹配:
controller/
controller/action/action
controller/action/123/
controller/action/123/456
您可以使用以下具有可选组的正则表达式:
^('w+)'/('w+)(?:'/('d+)?)?$
^^^ ^ ^
查看正则表达式演示
此正则表达式匹配:
-
^
- 字符串的开头 -
('w+)
- 一个或多个字母数字或下划线字符 -
'/
-/
符号 -
('w+)
- 一个或多个字母数字或下划线字符 - 次出现(序列(由于
(?:...)?
构造,非捕获组(?:...)
+?
- 一个或零 - 量词(匹配-
'/
- 正斜杠 -
('d+)?
- 可选的捕获组匹配一个或多个数字(但此组可能丢失,因为?
量词应用于整个组(...)
(
-
-
$
- 字符串锚点的结尾。
(?:'/('d+)?)?
- 可选(一次或零相关文章:
- java.net和javascript之间正则表达式的差异
- Grunt匹配正则表达式
- 不同浏览器中的空白字符正则表达式行为
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 调用正则表达式匹配的函数
- 使用正则表达式评估电子邮件地址时出现性能问题
- Javascript 正则表达式 : ^[^/s/]+[a-z]{1,}[0-9]*[-_]*[^/][
- JavaScript正则表达式文本与RegExp对象
- 正则表达式只允许 x 个整数
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 改进用于验证付款金额的正则表达式
- 正则表达式与数字中的第二个点匹配
- 键按正则表达式以查找具有负值的小数
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 将po-box javascript正则表达式转换为c#regex
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 使用正则表达式捕获“”并分割成阵列
- 将这些正则表达式从javascript转换为Java
- 用于验证JS中逻辑运算符表达式的正则表达式