簡體   English   中英

正則表達式匹配3條件?

[英]Regex match with 3 condition?

我將創建數學程序。如果我想解決,我需要使用正則表達式與方程式分開。 例如:

     `10x-10y2+100x-100k=100`   

格式將與正則表達式output: "10x" ,"100x" ,"100k" ,"10y2","100"分開output: "10x" ,"100x" ,"100k" ,"10y2","100"

我已經使用單獨的匹配功能編寫了代碼

有:

           for num[a-z]num : ` /([\-+])?\s*(\d+)?([a-z]?(\d+))/g`
           for num[a-z]    : ` /([\-+])?\s*(\d+)?([a-z]?(\d+))/g`
           fon num         : `/\b[+-]?[\d]+\b/g`

我需要在一個正則表達式匹配函數中的所有這三個匹配函數。有一個幫助將代碼與單個正則表達式結合起來

注意:我需要匹配函數而不是分割,因為我將該正則表達式應用於解析器

謝謝。

拆分符號:

"10x-10y2+100x-100k=100".split(/[-+=]/);

輸出:

["10x", "10y2", "100x", "100k", "100"]

如果你需要使用match()方法我建議相同的方法:

"10x-10y2+100x-100k=100".match(/[^-+=]+/g);

輸出是一樣的。

/(?:0|[1-9]\\d*)?(?:[az]+)?(?:\\^(?:0|[1-9]\\d*))?/g

// finds:
//        vvv vvvvv vvvv vvvv vvvvv vv vvv       v vvv
          10x-10y^2+100x-100k=100^4+xy+100+100y2+0-1^0
// doesn't find:                           ^^^^^
  • (?:0|[1-9]\\d*)? 0,或1-9然后是零或更多數字。 可選的。
  • (?:[az]+)? 可選的一個或多個小寫字母。
  • (?:\\^[1-9]\\d*)? 可選電源。
    • \\^文字文字。
    • (?:0|[1-9]\\d*)零,或者1-9然后是零或更多數字。

如果我錯過了什么讓我知道,我會把它合並。

嘗試這個:

 s.match(/\d+([A-Za-z]\d*)?/g)

試試下面的正則表達式:

/(\d+[a-z]?\d*)/g

暫無
暫無

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

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