簡體   English   中英

特定模式的JavaScript正則表達式

[英]JavaScript regex for specific pattern

我想申請一個正則表達式在這樣一個字符串word in $ctrl.words想要了解如果字符串in和一個字符串之前,之后和一個。

我嘗試使用此正則表達式[a-zA-Z\\\\d]+\\\\s+in\\\\s+[a-zA-Z\\\\d]+' ,但問題是$ctrl.words中的特殊字符,正則表達式始終返回false。 我想要的結果是這樣的字符串真實fruit in $ctrl.fruits letter in $ctrl.alphabet

對於fruit in $ctrl.fruits anything else諸如fruit in $ctrl.fruits anything else字符串為false,而fruit in $ctrl.fruits anything else letter in $ctrl.alphabet anithing else

既然你需要匹配的字符串只包含有分隔的兩個非空格字符塊in封閉與空格,你可以使用

/^\S+\s+in\s+\S+$/

正則表達式演示

細節

  • ^ -字符串的開頭
  • \\S+ -`+非空格字符
  • \\s+in\\s+ -一個用1個或多個空格括起來的in子字符串
  • \\S+ -`+非空格字符
  • $ -字符串結尾。

JS演示:

 var strs = ['fruit in $ctrl.fruits', 'letter in $ctrl.alphabet', 'fruit in $ctrl.fruits anything else', 'letter in $ctrl.alphabet anithing else' ]; var rx = /^\\S+\\s+in\\s+\\S+$/; for (var s of strs) { console.log(s, "=>", rx.test(s)); } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM