Train from London to Boston - match
Train from Boston to London
Train from Cardif to London
Bus from London to Paris - match
如果伦敦出现在任何其他城市与正则表达式之前,我该如何匹配?我可以用JavaScript中的循环进行字符串匹配,但我认为正则表达式更好。使用正则表达式匹配左侧的东西
Train from London to Boston - match
Train from Boston to London
Train from Cardif to London
Bus from London to Paris - match
如果伦敦出现在任何其他城市与正则表达式之前,我该如何匹配?我可以用JavaScript中的循环进行字符串匹配,但我认为正则表达式更好。使用正则表达式匹配左侧的东西
获取线路,其包括London to
var str = `Train from London to Boston - match
Train from Boston to London
Train from Cardif to London
Bus from London to Paris - match`,
city = 'london';
console.log(
str.match(new RegExp('^.*\\b' + city + '\\sto\\b.*$', 'gmi'))
)
试试这个
\bLondon(?=\s*to\b)
说明:
\
:转义特殊字符sample
(?=…)
:正向前查找sample
\s
: “空白字符”:空格,制表,换行符,carr iage返回,垂直制表sample
*
:零或更多次sample
的Javascript
var re = /\bLondon(?=\s*to\b)/g;
var str = 'Train from London to Boston - match\nTrain from Boston to London\nTrain from Cardif to London\nBus from London to Paris - match';
var m;
while ((m = re.exec(str)) !== null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
// View your result using the m-variable.
// eg m[0] etc.
}
'\ b'是为了?如何使用此与JavaScript? – Jennifer
'\ b'是一个字的边界,您可以使用'\ sLondon(?= \ s * to \ s)'来获得相同的结果。 –
你尝试过什么?这是非常直接的,但你似乎没有做任何努力来解决这个问题。 –
@EdCottrell我不知道布特正则表达式。 – Jennifer
你为什么要切换到正则表达式?你为什么认为它更好? – qxg