[英]regex matching with special characters metacharacters
我正在尝试匹配某些字符串,尽管我必须转义一些特殊字符,但仍然无法正确匹配。
我有这个
var first=/.+?(?=\[)/i
仍然匹配整个字符串,只需要匹配第一个[
这是字符串业务[帐户]
我需要匹配业务然后匹配帐户。 它是用于以后用于获取对象符号的插件的。 每个元素都有一个不同的属性。
对于这种简单的事情,实际上并不需要提前进行。 尝试使用以下字符类:
var first = /[^[]+/
这将匹配[
以外的任何一个或多个字符。
如果您想将其处理为可以匹配字符串两个部分(例如"business[account]"
的正则表达式,请尝试以下操作:
/([^[]+)\[([^\]]+)\]/
这将匹配在组1中捕获的[
以外的任何一个或多个字符,然后是[
,然后是在组2中捕获的]
以外的任何一个或多个字符,然后是]
。
例如
console.log(/([^[]+)\[([^\]]+)\]/.exec("business[account]"));
// ["business[account]", "business", "account"]
你快到了; 只需添加组(带括号)以匹配您想要的内容即可:
var m = /(.+?)\[(.+?)\]/.exec("business[account]");
console.log("variable: " + m[1], "index: " + m[2]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.