![](/img/trans.png)
[英]Exclude some characters from word boundary in javascript regular expressions
[英]How to exclude a word with JavaScript using regular expressions?
我是新的使用正則表達式,我想知道是否可以排除一個單詞。 我有以下數據列表:
cat.text"
cat.doc"
dog.txt"
dog.text"
frog.txt"
dog.text"
dog. text"
cat. text"
cat. text "
從這個數據,我想只得到.text"
(或者. text "
或.text "
等)的一部分,但我不希望包括.text"
從包含任何項目cat
。 到目前為止,我能夠得到所有的.text"
但不知道如何用cat
word排除那些。我到目前為止\\.\\s*text\\s*"
並且它得到了
cat.text" <--
cat.doc"
dog.txt"
dog.text" <--
frog.txt"
dog.text" <--
dog. text" <--
cat. text" <--
cat. text " <--
有幫助嗎? 謝謝!
我能夠得到所有的.text“但不知道如何排除那些帶有”cat“字的那些。
您可以使用以下正則表達式:
/^(?!cat).*\.\s*text/m
如果您希望匹配不考慮字母大小寫,可以在末尾添加不區分大小寫的i
標志(例如, mi
)。
說明:
^ // assert position at start of a line (with the multiline 'm' flag)
(?!cat) // negative lookahead to prevent matching if line starts with cat
.* // match any number of characters excluding linebreak characters
\. // match "." literally
\s* // match any number of whitespace characters
text // match "text" literally
// flags:
// "m" - multiline, matches on a per line basis)
編輯:如果要將后綴標記與結束引號匹配,可以使用以下命令:
/^(?!cat).*(\.\s*text\s*\")/m
請注意Regex101右側的匹配信息。 假設正確使用字符串/正則表達式方法, ()
捕獲匹配到輸出。
如何使用String.prototype.match
提取捕獲的組的示例:
var strArr = [ 'cat.text"', 'cat.doc"', 'dog.txt"', 'dog.text"', 'frog.txt"', 'dog.text"', 'dog. text"', 'cat. text"', 'cat. text "', 'dogtext', 'textexttext']; var re = /^(?!cat).*(\\.\\s*text\\s*\\")/mi; var testDiv = document.querySelector('.testString'); var resultDiv = document.querySelector('.resultString'); strArr.forEach(function(str) { testDiv.insertAdjacentHTML('beforeend', str + '<br>'); if (str.match(re)) resultDiv.insertAdjacentHTML('beforeend', str.match(re)[1] + '<br>'); else resultDiv.insertAdjacentHTML('beforeend', '<br>'); });
.testString { display: inline-block; } .resultString { display: inline-block; position: relative; left: 10%; }
<div class='testString'></div> <div class='resultString'></div>
我在使用string.prototype.match
時刪除了g
標志,因為你想要捕獲的組。 使用g
標志返回整個匹配字符串。
你可以這樣做......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.