我们想在管道字符的实例上拆分一个字符串|,但如果该字符前面有一个转义字符,则不会\|.
我们希望看到以下字符串拆分为以下组件
1|2|3\|4|5
1
2
3\|4
5
Run Code Online (Sandbox Code Playgroud)
我希望能够使用以下javascript函数split,它采用正则表达式.什么正则表达式我会分裂?我们是跨平台的,如果可能的话,我想支持IE,FF和Chrome的当前版本和之前的版本(1版本).
而不是拆分,进行全局匹配(与词法分析器相同):
\\or之外的任何东西|像这样的东西:
var str = "1|2|3\\|4|5";
var matches = str.match(/([^\\|]|\\.)+/g);
Run Code Online (Sandbox Code Playgroud)
快速解释:([^\\|]|\\.)匹配除('\'和'|':pattern:)[^\\|]或(pattern |:)之外的任何字符,它匹配任何转义字符(pattern :) \\..在+它告诉它后匹配以前的一次或多次:该模式([^\\|]|\\.)将为此进行一次或更多的比赛.将g在正则表达式文字的末尾告诉JavaScript的正则表达式引擎匹配的模式在全球而不是仅一次匹配它的.
| 归档时间: |
|
| 查看次数: |
985 次 |
| 最近记录: |