我一直在嘗試在 JS 中使用 RegExp 來測驗一個字串是否有一定數量的子字串。我想要一個純粹的 RegExp 方法,所以我可以將它與我的其他搜索條件結合起來,但沒有任何運氣。
作為一個簡單的例子,我想測驗一個單詞是否正好有 2-3a秒。
| 案子 | 測驗字串 | 預期結果 |
|---|---|---|
| 1 | cat |
錯誤的 |
| 2 | shazam |
真的 |
| 3 | abracadabra |
錯誤的 |
我對正則運算式的大多數猜測都失敗了案例 3??。示例:^(?<!.*a.*)((.*a.*){2,3})(?!.*a.*)$
uj5u.com熱心網友回復:
可以使用這個正則運算式。
與任何其他字符,包括空格。
^[^a]*(?:a[^a]*){2,3}$
或者如果使用多行并且不想跨越。
^[^a\r\n]*(?:a[^a\r\n]*){2,3}$
^ # Begin
[^a]* # optional not-a
(?: # Grp
a # single a
[^a]* # optional not-a
){2,3} # Get 2 or 3 a only
$ # End
https://regex101.com/r/O3SYKx/1
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/439981.html
標籤:javascript 正则表达式
下一篇:檢查一個鍵是否在gun.js中
