我是正則運算式的新手,老實說沒有那么有經驗。我得到了我想嘗試和使用的這個正則運算式模式。
/(a..e.)([a-zA-Z])/gi
計劃是它應該匹配遵循該模式的任何單詞。所以我可以遍歷一個單詞串列,它將 A 鎖定在 E 的第一個插槽中,在倒數第二個位置。它會找到與此匹配的所有單詞。但是我遇到了一個問題。我希望它與 ADDER 一詞匹配,但事實并非如此。當我洗掉最后一個句號時,模式變為
/(a..e)([a-zA-Z])/gi
它確實有效。這兩者不應該基本相同嗎?因為我們使用的是通配符點?
使用https://regexr.com/
uj5u.com熱心網友回復:
該(a..e.)([a-zA-Z])模式查找一個a,之后必須有任何兩個字符(換行符除外),然后是一個e字母,然后是除換行符之外的任何單個字符。這種模式既不保證匹配整個單詞,也不保證匹配的字符.是字母。
/(a..e.)([a-zA-Z])/gi不等于,/(a..e)([a-zA-Z])/gi因為它們匹配并使用不同的字串。由于沒有.after ,第二個模式匹配較少的字符,除了在任何單個字母之前的字母(最后一個模式部分)之前的字母e之后的換行符之外,不允許任何單個字符。e
要匹配以字母開頭的a單詞,然后是兩個字母,然后是一個e字母,然后是另一個字母,您可以使用
/\ba[a-z]{2}e[a-z]\b/gi
請參閱正則運算式演示。詳情:
/gig-以不區分大小寫的方式匹配所有出現的 ( ) (i)\b- 匹配單詞邊界a-a/A[a-z]{2}- 兩個 ASCII 字母e-e一封信[a-z]- 任何 ASCII 字母\b- 匹配單詞邊界。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/410302.html
標籤:
上一篇:通過正則運算式清理逗號分隔的串列
