![](/img/trans.png)
[英]Javascript regex to match between two patterns, where first pattern is optional
[英]Regex to match string between two words, where the ending boundary word is optional
我想所謂的匹配單詞和寬度之間的文字也依然匹配即使寬度缺失。 例如
在這句話中,我要搭配瑪麗珍
“用忍者創建一個名為Mary Jane的文本字段”
這里我仍然想匹配 Mary Jane,即使之后沒有with子句
創建一個名為Mary Jane的文本字段。
我的正則表達式僅在with存在時匹配,但如果不存在則不匹配。
"Create a picklist called Mary Jane with the value ox'".match(/called(.*)(?:with)/i) // Matches "Mary Jane"
"Create a picklist called Mary Jane'".match(/called(.*)(?:with)/i) // Error: Does not match anything
如何編寫可以匹配兩種情況的正則表達式?
你可以這樣做。 這就是我想出的。 我希望它有幫助。
let str1 = "Create a text field called Mary Jane with ninja"; let str2 = "Create a text field called Mary Jane"; console.log(words(str1)); console.log(words(str2)); function words(str){ let arr = str.split(" "); let i = arr.indexOf("called"); let j = arr.indexOf("with"); if( j == -1){ return arr.slice(i+1); } return arr.slice(i+1,j); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.