2017-08-05 5 views
0

文字列「btn btn-block btn-red btn-」があるとします。 「btn-」だけはどうやって見つけるのですか? JavaScriptでは\ bは "btn-block"でうまく動作しますが、ハイフンで終わると壊れます。/bbtn- \ b /を使うと "btn-block"と "btn-red"が選択されますが、実際には "btn-"は選択されません。このための回避策はありますか?RegExp - 境界にある単語だけを一致させる方法は? b not working

+1

デモでこれを再現できますか? – elclanrs

+0

http://regexr.com/3ggh5これは問題あり – discordancapforeverguy

+0

http://regexr.com/3ggh8これはうまく動作します – discordancapforeverguy

答えて

1

Group 1を例を無視するように\b(btn-)(\s|$)

+0

これはこれまで完璧に動作しているようです! – discordancapforeverguy

0

「検索」の意味によって異なります。あなたは「それが文字列に存在する場合、trueを返す」を意味する場合、これは動作します。このことから

var myString = "btn btn-block btn-red btn-"; 
var myStringTwo = "btn btnblock"; 

// This will print "Found btn- in myString" 
if(myString.search(/btn-/) > -1) 
    console.log("Found btn- in myString"); 
else 
    console.log("Couldn't find btn- in myString"); 

// This will print "Couldn't find btn- in myStringTwo" 
if(myStringTwo.search(/btn-/) > -1) 
    console.log("Found btn- in myStringTwo "); 
else 
    console.log("Couldn't find btn- in myStringTwo"); 
+0

私は文字列内のすべての "btn-"を見つけようとしましたが、 "btn-block"のようなものが後に付いていません。/btn-/"btn-"と私が望むものではない "btn-block"の両方を選択します。 – discordancapforeverguy

関連する問題