JavaScript 正则表达式 : match and identify alternative delimiters and capture surrounding text

标签 javascript regex match capture delimiter

假设以下任何字符串都可以使用 ##, ?? and::是分隔符...

test1 = 'Foo##Bar'
test2 = 'Foo Bar??Baz Mumbe'
test3 = 'SomeFoo::Some Bar'
test4 = 'Foo Bar Baz'

现在,我想...

  1. 知道是否有 ##、??或::匹配,如果匹配,是哪一个
  2. 捕获分隔符之前和之后的内容

字符串操作有效,但看起来太复杂了。

最佳答案

好吧,我想我实际上能够构建 RegExp...

var reg = /(.*)(\#\#|::|\?\?)(.*)/g;

示例

现在,使用 RexExp 的 exec 函数,我得到...

var match = reg.exec('foo bar##baz mumble');

=> match = ["foo bar##baz mumble", "foo bar", "##", "baz mumble"];

关于JavaScript 正则表达式 : match and identify alternative delimiters and capture surrounding text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14796934/

相关文章:

javascript - 单击内部 div 时防止单击处理程序触发

javascript - 使用javascript将html表导出到excel时出现unicode数据问题

javascript - 单击按钮时如何添加新文本字段

javascript - 从 JSON 中获取元素集合

Java 用括号替换全部

javascript - 正则表达式在 regexpal 中匹配,但在 javascript 中不匹配?

javascript - 使用多返回 RegEx ('g' ) + Javascript 中的开关替换字符串

javascript - 在 javascript 中映射和匹配范围

excel - 具有多列匹配的 VLOOKUP

php - MySql SELECT 查询跨多个字段的多个关键字