小编dav*_*307的帖子

正则表达式检测字符是否重复超过三次

我尝试遵循此处描述的解决方案:https ://stackoverflow.com/a/17973873/2149915 尝试匹配具有以下要求的字符串: - 应匹配并返回字符串中按顺序重复的超过 3 个字符。

例子:

  • 你好,你好吗... -> 有效
  • 你好,你好吗............ -> 无效
  • hiii -> 有效
  • hiiiiii -> 无效

等等,这个想法是检测无意义的文本。

到目前为止,我的解决方案是修改链接中的正则表达式。

原来的:^(?!.*([A-Za-z0-9])\1{2})(?=.*[a-z])(?=.*\d)[A-Za-z0-9]+$

改编:^(?!.*([A-Za-z0-9\.\,\/\|\\])\1{3})$

本质上,我删除了捕获此处看到的数字和字母数字组的要求:(?=.*[a-z])(?=.*\d)[A-Za-z0-9]+并尝试添加额外的字符检测,例如./,\等,但它似乎根本不与任何字符匹配......

关于如何实现这一目标有什么想法吗?

提前致谢 :)

编辑:我找到了这个正则表达式:^.*(\S)(?: ?\1){9,}.*$关于这个问题/sf/answers/3126135001/并将其调整为仅匹配 3 个字符,例如这样^.*(\S)(?: ?\1){3}.*$

现在它检测到以下内容:

  • aaaa -> 无效
  • 你好.... -> 无效
  • /////.... -> 无效

但是它没有考虑空白,例如:

  • . . . . .

是否可以进行修改来实现此目的?

java regex kotlin

5
推荐指数
1
解决办法
2496
查看次数

正在使用Kotlin对但方法需要android.util.Pair

我有一个用Java编写的PreferencesManager,方法如下:

 public void insert(Pair<String, Object> keyValue, boolean async) {
Run Code Online (Sandbox Code Playgroud)

从kotlin我试图将一个新的Pair插入到PreferencesManager中,如下所示:

 val  p = Pair(SharedPreferencesManager.STATIC_KEY, value)
            preferencesManager!!.insert(p, false)
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误说:

"需要android.util.Pair,找到kotlin.Pair"......

有没有办法可以从一个转换到另一个?

java android kotlin

2
推荐指数
2
解决办法
941
查看次数

标签 统计

java ×2

kotlin ×2

android ×1

regex ×1