匹配出现在某个字符串之后的字符串
Match a string if it comes after certain string
我需要一个JavaScript正则表达式来匹配Name:
之后的John
(不区分大小写)
我知道如何做到这一点,但我不知道如何从不同的行获得字符串,像这样(从一个textarea):
Name
John
这就是我想做的::var str = /'s[a-zA-Z0-9](?= Name)/;
逻辑:获取一个字符串,其中字母/数字位于行间距后面,后跟Name。
那么,我将使用.test();
方法。
编辑:
我试图使这个问题更简单。我不太明白的是,我如何将"John"(实际上是任何东西)隔离在一个新的行上,后面跟着一个特定的字符串(在本例中是Name
)。
。, 如果 John
在Name
{dosomething} else{dosomethingelse}之后
不幸的是,JavaScript不支持向后查找。对于这么简单的内容,您可以像这样匹配字符串的两个部分:
var str = /Name's+([a-zA-Z0-9]+)/;
如果你想获得John
,你只需要提取第一个捕获组。例如:
"Name'n John".match(/Name's+([a-zA-Z0-9]+)/)[1]; // John
但是,如果您只使用.test
,则不需要捕获组。例如:
var input = "Name'n John";
if (/Name's+[a-zA-Z0-9]+/.test(input)) {
// dosomething
} else{
// dosomethingelse
}
此外,如果您需要确保Name
和John
出现在单独的行中,中间只有空白,则可以将此模式与多行(m
)标志一起使用。
var str = /Name's*^'s*([a-zA-Z0-9]+)/m;
这里不需要预先查找,只需将Name放在要匹配的字符之前。要启用不区分大小写的匹配,请将i
修饰符放在正则表达式的末尾。
var str = 'Name'n John'
var re = /Name's+[a-z0-9]+/i
if (re.test(str)) {
// do something
} else {
// do something else
}
使用字符串。如果您想从字符串中提取名称,请使用match
方法。
'Name'n John'.match(/Name's+([a-z0-9]+)/i)[1];
这里的[1]
指的是在捕获组#1
中匹配/捕获的内容
相关文章:
- 正则表达式删除最后一个数字之后的字符串
- Jquery - 从查询字符串中获取“#”值之后,而不是在“?”符号值之后获取
- 如何在 javascript 中使用正则表达式提取句点 (.) 之后的字符串
- 从字符串中删除-之后的一些文本
- 使用Jquery和PHP在POST Ajax之后返回(一个空字符串)
- 从子字符串之后的字符串中获取字符串
- 我怎样才能得到这个字符串之后的所有内容
- 忽略文件扩展名jQuery之后的查询字符串
- 通过 JavaScript 获取字符串中第二个空格之前和之后的子字符串
- 删除字符串中第5个字符之后的所有字符
- 如果字符串位于iframe之后,则不会使用引导程序列表显示
- 获取javascript中/之前和之后的字符串值
- 获取每个'单词'在使用regex的Javascript字符串中的每个下划线之后
- 查找网页上字符串之后或之前出现的字符串
- 一个数组在“array.push”一些字符串之后附加了未定义.这正常吗
- javascript多行匹配在某个字符串之后
- 如何构造一个javascript正则表达式来提取特殊字符串之后的所有字符串
- 匹配出现在某个字符串之后的字符串
- 替换3个不同字符串之后的双引号之间的字符串
- NodeJs在一系列字符串之后添加字符