有什么办法做到这一点:
QuestionsModule
是否没有重复匹配部分的次数?
我尝试了[^A-Za-z0-9\s]{6}.*[^A-Za-z0-9\s]{6}.*[^A-Za-z0-9\s]{6}
,但这没用。
基本上,我正在尝试捕获用户多次重复标点的文本:
哦,天哪!!!!!!疯了吧!!!!!!!你打算去哪 做到这一点???!??!??????
但这没关系:
哦,天哪!!!!!!疯了吧!你打算去哪 这样做吗?
答案 0 :(得分:0)
是的,您可以这样
[^A-Za-z0-9\s]{6}(?:.*?[^A-Za-z0-9\s]{6}){number of times}
可读
[^A-Za-z0-9\s]{6}
(?:
.*?
[^A-Za-z0-9\s]{6}
){number of times}
您也可以在number of times
上设置范围,
number of times
可能是1,10
答案 1 :(得分:0)
如果要匹配类中的任何字符,然后匹配更多相同字符(例如,具有相同标点符号的聚类),则可以使用捕获组:
([^A-Za-z0-9\s])\1{2,}
这匹配???
,.......
和!!!!!!!
,但不匹配!??!!!?
或...!..
。取决于正则表达式的方言,您可能需要使用$1
而不是\1
。
[^A-Za-z0-9\s] # your character class
( ) # make this part a capture group
\1 # match whatever matched the first capture group
{2,} # 2 or more times
答案 2 :(得分:0)
此正则表达式将执行您想要的操作:
implementation 'com.google.firebase:firebase-database:16.0.1'
它将查找一组6个或更多符号字符(([^A-Za-z0-9\s]{6,}([\w\s]+|$)){2,}
),然后是一个或多个单词/空格字符或行尾([^A-Za-z0-9\s]{6,}
)。 ([\w\s]+|$)
量词然后要求该组至少出现两次。