我想知道如何使用正则表达式匹配某个匹配后的短语.喜欢:
var phrase = "yesthisismyphrase=thisiswhatIwantmatched";
var match = /phrase=.*/;
Run Code Online (Sandbox Code Playgroud)
这将匹配phrase=字符串的结尾,但是可以在phrase=不必修改字符串之后获取所有内容吗?
DVK*_*DVK 57
您使用捕获组(用括号表示).
通过match或exec函数执行regex时,返回一个由捕获组捕获的子串组成的数组.然后,您可以访问通过该阵列捕获的内容.例如:
var phrase = "yesthisismyphrase=thisiswhatIwantmatched";
var myRegexp = /phrase=(.*)/;
var match = myRegexp.exec(phrase);
alert(match[1]);
Run Code Online (Sandbox Code Playgroud)
要么
var arr = phrase.match(/phrase=(.*)/);
if (arr != null) { // Did it match?
alert(arr[1]);
}
Run Code Online (Sandbox Code Playgroud)
the*_*ejh 13
phrase.match(/phrase=(.*)/)[1]
Run Code Online (Sandbox Code Playgroud)
回报
"thisiswhatIwantmatched"
Run Code Online (Sandbox Code Playgroud)
括号指定所谓的捕获组.捕获组的内容将放入结果数组中,从1开始(0是整个匹配).
这并不难,只需假设您的上下文是:
const context = "https://example.com/pa/GIx89GdmkABJEAAA+AAAA";
Run Code Online (Sandbox Code Playgroud)
我们想要得到 后的模式pa/,所以使用以下代码:
const pattern = context.match(/pa\/(.*)/)[1];
Run Code Online (Sandbox Code Playgroud)
第一项包含pa/,但对于分组第二项不包含pa/,您可以使用您想要的每一项。
| 归档时间: |
|
| 查看次数: |
51086 次 |
| 最近记录: |