Javascript 如何获取前面带有“添加”的字符

Javascript 如何获取前面带有“添加”的字符,javascript,regex,Javascript,Regex,我有一个字符串add_晚餐,add_会议,add_燃料附加费,我想得到前面有add_晚餐,会议,燃料附加费的字符 [^a][^d]{2}[^_]\w+ 我试过这个,但它只适用于晚餐 [^add_]\w+ 这一款适用于添加燃料附加费,但从添加晚餐中获取内部 [^add_]\w+ 请帮助我理解。由于JavaScript不支持查找断言,您需要使用捕获组: var myregexp = /add_(\w+)/; var match = myregexp.exec(subject); if (mat

我有一个字符串add_晚餐,add_会议,add_燃料附加费,我想得到前面有add_晚餐,会议,燃料附加费的字符

[^a][^d]{2}[^_]\w+
我试过这个,但它只适用于晚餐

[^add_]\w+
这一款适用于添加燃料附加费,但从添加晚餐中获取内部

[^add_]\w+

请帮助我理解。

由于JavaScript不支持查找断言,您需要使用捕获组:

var myregexp = /add_(\w+)/;
var match = myregexp.exec(subject);
if (match != null) {
    result = match[1];
}

[^add\]是一个字符类,它匹配除a、d或\\之外的单个字符。当应用于添加时,它匹配的第一个字符是i,\w+然后匹配nner。

由于JavaScript不支持查找断言,您需要使用捕获组:

var myregexp = /add_(\w+)/;
var match = myregexp.exec(subject);
if (match != null) {
    result = match[1];
}
[^add\]是一个字符类,它匹配除a、d或\\之外的单个字符。当应用于添加时,它匹配的第一个字符是i,\w+然后匹配nner。

使用捕获组:

/^add_(\w+)$/
检查返回的数组以查看结果。

使用捕获组:

/^add_(\w+)$/
检查返回的数组以查看结果。

除了列出的字符外,[^…]构造与任何单个字符都匹配。因此[^add\]匹配除a、d或\\之外的任何单个字符

如果要检索u后的位,可以执行以下操作:

/add_(\w+_)/
括号中包含表达式的内部部分。因此,要从字符串中获取实际文本:

var s = "add_meeting";
var result = s.match(/add_(\w+)/)[1];
这假设字符串将匹配,以便您可以直接获取返回数组中的第二个元素,该元素将是匹配的会议部分\w+

如果有可能测试不匹配的字符串,则需要测试匹配结果是否为空

或者,可能更容易理解:result=add_meeting.split_[1]

[^…]构造匹配除所列字符外的任何单个字符。因此[^add\]匹配除a、d或\\之外的任何单个字符

如果要检索u后的位,可以执行以下操作:

/add_(\w+_)/
括号中包含表达式的内部部分。因此,要从字符串中获取实际文本:

var s = "add_meeting";
var result = s.match(/add_(\w+)/)[1];
这假设字符串将匹配,以便您可以直接获取返回数组中的第二个元素,该元素将是匹配的会议部分\w+

如果有可能测试不匹配的字符串,则需要测试匹配结果是否为空

或者,可能更容易理解:result=add_meeting.split_[1]

您可以通过JavaScript为循环过滤uu字符串

您可以通过JavaScript为循环过滤uuString


我不是正则表达式专家,所以我只想给你这个方便的网页来编写、测试或查看其他用户上传的正则表达式:var str=str.substringstr。如果字符串中总是有一个u,indexOf_u1将起作用。str.substring4如果总是有一个add_-同上str.splitadd_[1]我不是正则表达式专家,所以我只想给你这个方便的网页来编写、测试或查看其他用户上传的正则表达式:var str=str.substringstr。如果字符串中总是有一个u,indexOf_+1将起作用。str.substring4如果总是有一个add_u-同上str.splitadd_u1]我以前从未听说过“控制组”这个词。@TimPietzcker:我也是。更正。背景中的神话破坏者:习近平以前从未听说过“控制小组”这个词。@TimPietzcker:我也是。更正。背景中的神话破坏者:XOr更好地在添加上拆分\u如果有不止一个\u感谢asnwer,现在我看到了我应该使用regex的方式:或者更好地在添加上拆分\u如果有不止一个\u感谢asnwer,现在我看到了我应该使用regex的方式: