簡體   English   中英

正則表達式在特定字符串后捕獲多個組

[英]regex capturing multiple group after a specific string

我想在“define”關鍵字之后捕獲所有變量名(我使用 js)。

我已經嘗試過這個:

(?<=define\s)(?:([a-zA-Z_]\w*),?\s?)+

但它只捕獲最后一次出現,但我想獲得所有這些。 示例字符串:

define x, y, z, a

鏈接在這里regex101

如果您使用的瀏覽器支持后向斷言中的無限量詞:

(?<=define\s[\w,\s]*)[a-zA-Z_]\w*

模式匹配:

  • (?<= Positive lookbehind,斷言左邊的是
    • define\s匹配定義后跟一個空白字符
    • [\w,\s]*匹配中間允許的可選字符
  • )近距離回顧
  • [a-zA-Z_]\w*匹配單個字符 a-zA-Z 或 _ 和可選的單詞字符

正則表達式演示

 const s = "define x, y, z, a"; const regex = /(?<=define\s[\w,\s]*)[a-zA-Z_]\w*/g; console.log(s.match(regex));

暫無
暫無

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

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