你們中的任何人都可以幫我為以下要求撰寫一個正則運算式模式嗎?
- 沒有數字的部分標簽
- 后面沒有點字符的所有部分標記號。
- 更接近部分標簽的數字僅被考慮。
測驗字串:
<sectionb>2.3. Optimized test sentence<op>(</op>1,1<cp>)</cp></sectionb>
*<sectiona>2 Surface Model: ONGV<op>(</op>1,1<cp>)</cp></sectiona>*
<sectiona>3. Verification of MKJU<op>(</op>1,1<cp>)</cp> Entity</sectiona>
*<sectionc>3. 2. 1 <txt>Case 1</txt> Annual charges to SGX</sectionc>*
*<sectiona>Compound Interest<role>back</role></sectiona>*
圖案:
<section[a-z]>[\d]*[^\.]*<\/section[a-z]
正則運算式模式應匹配以下字串:
<sectiona>2 Surface Model: ONGV<op>(</op>1,1<cp>)</cp></sectiona>
<sectionc>3. 2 1 <txt>Case 1</txt> Annual charges to SGX</sectionc>
<sectiona>Compound Interest<role>back</role></sectiona>
uj5u.com熱心網友回復:
這符合更新的要求:
<section\w >(((\d \.\s*)*(\d [^\.]))|[^\d]).*?<\/section\w>
<section\w > \w[a-z]與 允許 0 或更多 ( )基本相同<section> <sectionabc>,洗掉 一個字母
(\d \.\s*)*0 個或多個數字/點/任意數量的空格 - 匹配更新的第 3 行,它現在3. 2. 1在點后帶有空格
(\d [^\.])必須匹配不帶點的數字,一個或多個數字
((...)|[^\d])或部分不以數字開頭(匹配第 5 行)
.*?后跟任何字符,盡可能少地直到以下</section- 可能會通過向前看來簡化正則運算式,但是,對我來說,這將單獨的“無數字”子句分開。
正則運算式101
uj5u.com熱心網友回復:
您可以使用此正則運算式:
/<section[a-z]>([^\d]|\d (?![.])).*?<\/section[a-z]/g
解釋:
<section[a-z]>- 匹配文字<section和一個字母和>
(- 開始一個小組
[^\d]|\d - 匹配一個非數字或一個或多個數字
(?![.])- 后面不跟一個點.
)- 結束組
.*?<\/section[a-z]>- 匹配任何字符零次或多次,后跟文字字串</section,后跟一個字母和>
如果一個或多個數字后跟一個點,這將不匹配。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/449160.html
