我想从以下查询字符串中提取baz值:
reportClientDoc.getDataDefController().getRecordFilterController().setFormulaText("your record selection formula here");
问题是baz的值包含&amp ;.我使用这样的样子取得了一些成功:
foo=bar&baz=qux&norf&corge=grault
但是,它无法处理行尾或者后面有多个键值。
是否有可以处理此问题的正则表达式?
答案 0 :(得分:2)
答案 1 :(得分:1)
使用以下regex
:
baz=(\w+&\w+)
<强>解释强>
baz=
:匹配字符baz =字面(区分大小写)(\w+&\w+)
:捕获群组
\ w +匹配任何单词字符[a-zA-Z0-9_]
&
:字面匹配字符&
var queryString = 'foo=bar&baz=qux&norf&corge=grault';
var value = queryString.match(/baz=(\w+&\w+)/)[1];
document.write(value);
答案 2 :(得分:0)
您可以使用
\bbaz=([^=&]+(?:&[^=&\n]+)?)
请参阅demo
如果您有多个&
- 包含值,则可以使用
\bbaz=([^=&]+(?:&[^=&\n]+)*)
请参阅another demo