簡體   English   中英

解碼JS正則表達式

[英]decoding a JS regular expression

我正在瀏覽一些遺留代碼,我遇到了這個常規快遞:

var REGEX_STRING_REGEXP = /^\/(.+)\/([a-z]*)$/; 

關於這個正則表達式的含義,我有點困惑。

到目前為止,我總結了以下內容:

  1. 首先 /
  2. 然后任何字符(數字,字母,符號,空格)
  3. 然后是正斜線
  4. 以字母字符結尾

有人可以建議嗎?

您可以使用Regexper之類的工具來顯示正則表達式。 如果我們將正則表達式傳遞給Regexper,我們將獲得以下可視化:

例

直接鏈接到Regexper結果

正則表達式:/^ /(.+)/([az]*)$/

^:錨定正則表達式開始行

(。+):1個或多個單詞字符,非單詞字符或數字的實例

([az] *):任何單個小寫字符az的0或更多個實例

$:將正則表達式錨定到行尾

總之,您的正則表達式尋找匹配的字符串,它是第一個前向閃存,然后是一個或多個單詞字符實例,非單詞字符或數字后跟,然后是另一個前向閃爍,然后是0或更多任何單個小寫字符的實例AZ。 最后,由於括號中包含(。+)和([az] *),因此當您使用它們執行正則表達式操作時,它們將捕獲任何匹配項。

我建議去rubular ,將正則表達式^ /(。+)/([az ] *)$放在頂部字段中,並在測試字符串框中使用示例字符串來更好地理解該正則表達式中的字符串。 (/ string / something例如可以與你的正則表達式一起使用)。

暫無
暫無

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

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