在 Java 中使用正则表达式查找重复模式

2023-12-27

我正在使用正则表达式来匹配以下字符串。

String sample1 = "key:value|key:value|key:value|key:value";

正如您所看到的 key:value 定期重复,唯一的分隔符是 管道 (|)。

注意事项:

键 => 只是字母 value => 字母、+ - 和数字(暂时)

在订单中,我有以下正则表达式:

    public void testOptionsRules()
{
    String match = "[a-z]+[:][-+]?[a-z_0-9]+";

    boolean option1 = "a:f".matches(match);
    boolean option2 = "ad:d".matches(match);
    boolean option3 = "addc:dd1".matches(match);
    boolean option4 = "min:50".matches(match);
    boolean option5 = "ssss:-10".matches(match);
    boolean option6 = "dropl2etx:5555".matches(match);

    assertTrue(option1 && option2 && option3 && option4 && option5);
    assertFalse(option6);
}

最后一次测试效果很好。但我怎样才能匹配周期性的重复呢?我是说 键:值|键:值|键:值|键:值。

Thanks


您可以使用匹配器循环遍历字符串中的每个匹配项:

      import  java.util.regex.Pattern;
      import  java.util.regex.Matcher;
 /**
    <P>{@code java RegexForRepeatingString}</P>
  **/
 public class RegexForRepeatingString  {
    public static final void main(String[] ignored)  {

       String sRegex = "\\b[a-z]+:[+-]?[a-z_0-9]+\\b";

       String sToSearch = "keya:valuea|keyb:valueb|keyc:valuec|keyd:valued";

       Matcher m = Pattern.compile(sRegex).matcher(sToSearch);

       while(m.find())  {
          System.out.println(m.group());
       }
    }
 }

Output:

[C:\java_code\]java RegexForRepeatingString
 keya:valuea
 keyb:valueb
 keyc:valuec
 keyd:valued
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Java 中使用正则表达式查找重复模式 的相关文章

  • 如何在 Android 中恢复我的音频?

    我必须实现用于创建具有暂停和恢复状态的音频的应用程序 当我的应用程序作为启动时音频启动 当我按下模拟器上的后退按钮时 音频音乐处于暂停状态 但是当我的活动回来时从停止状态到前台我的音频音乐未恢复 这是我的代码 public class Au
  • Spring MVC 中的 CSRF(跨站请求伪造)保护

    我对春季的 CSRF 跨站请求伪造 保护有点困惑 不 我有我的 jsp 我的控制器和一个 Web 服务 我想要做的是在 Web 服务级别验证令牌 如果令牌匹配 则运行 Web 服务 在我的例子中执行数据库插入 JSP file
  • 如何加载椭圆曲线 PEM 编码的私钥? [复制]

    这个问题在这里已经有答案了 我使用 OpenSSL 生成了椭圆曲线私钥 公钥对 私钥和公钥均采用 PEM 编码 我已经弄清楚如何加载公钥 感谢this https stackoverflow com a 40439081但是 我无法弄清楚如
  • 平衡括号问题的优化解

    给定一个仅包含字符的字符串 and 判断输入字符串是否有效 输入字符串在以下情况下有效 左括号必须由相同类型的括号封闭 左括号必须按正确的顺序关闭 请注意 空字符串也被视为有效 示例1 Input Output true Example 2
  • ORMLite - join where 子句中的括号

    我想使用连接三个表QueryBuilder join and QueryBuilder joinor但我想在 where 子句中添加括号 如下所示 WHERE first table where AND second table where
  • AES BadPaddingException

    如果我使用错误的密钥或错误的盐进行解密 则会引发 BadPaddingException 我希望返回一个不正确的字符串 doFinal 导致解密方法出现异常 信息 This is just an example Unfug S F V s
  • 读取 Nashorn JO4 和 NativeArray

    Java调用代码 import jdk nashorn api scripting myCustomHashMap dataStore new myCustomHashMap ScriptEngineManager sem new Scri
  • 酷还是傻? Catch(异常[NamingException, CreateException] e)

    我正在编写一些代码 我注意到异常处理中的一种模式让我思考 try do stuff throws JMS Create and NamingException catch NamingException e log1 e rollback
  • Java Swing JEditorPane:操作样式文档

    我的模型是与枚举类型关联的字符串队列 我试图在 JEditorPane 中显示该模型 队列中的每个元素作为一个单独的 HTML 段落 其属性基于关联的枚举类型 但是 我的更新方法并没有达到我想要的效果 我尝试将 HTML 字符串直接写入文档
  • 在 JSF 自定义验证器中区分 ajax 请求和完整请求

    我的验证器需要知道它是完整请求还是 ajax 请求 在我当前的解决方案中 我检查 http 请求标头X Requested With元素 public void validate FacesContext context UICompone
  • EasyMock : java.lang.IllegalStateException: 1 个匹配器预期,2 个记录

    我在使用 EasyMock 2 5 2 和 JUnit 4 8 2 通过 Eclipse 运行 时遇到问题 我已阅读此处所有类似的帖子 但尚未找到答案 我有一个包含两个测试的类 它们测试相同的方法 我正在使用匹配器 每个测试单独运行时都会通
  • SQL 选择与带有通配符的 URL 匹配的行

    我在数据库中有一个表 其中一列包含一个 URL 例如http example com users http example com users 轮廓 我得到了一个 URL 例如http example com users 234 profi
  • 如何在开头时解析 json 文件

    我想解析以下 JSON 文件 但以 向我表明这是一个数组 然后继续 对象 我当前的解析器返回一个 JSON 对象 我的问题是 如何修改解析器来解析这个文件 这样解析器将为我提供其他 JSON 文件 从对象或排列开始 JSON 文件 codi
  • 如何在Android中使用资源

    一个人如何使用资产 我有这个代码 AssetManager assets getAssets InputStream stream assets open test txt 看起来它只能在 Activity 类中使 用 如果我尝试在另一个类
  • 未从线程接收位置数据

    我尝试使用计时器经常发送包含用户位置的短信 最初 我遇到了空指针异常 这是由于我犯了一个简单的错误 一旦解决了这个问题 一切似乎都运行良好 但是 它永远不会获取我的位置 因此 不断发送的文本显示 无法接收位置 我想问的是为什么它无法获取我的
  • 无法从 ViewPager 中的 Fragment 编辑 ActionBar 标题

    我有一个Activity它通过一个托管多个片段ViewPager 在活动的onCreate方法我使用以下代码来更改ActionBar title Toolbar toolbar findViewById R id toolbar setSu
  • APACHE POI 从 Java 中的 Excel 获取精确的字体颜色

    在 Excel 工作表中 如何使用 Java 中的 Apache POI 获取准确的字体颜色值 我试图通过使用来获取字体颜色 org apache poi ss usermodel Font f book getFontAt style g
  • System.out.println("嗨"+6+10);打印Hi610?

    为什么要这样做 太令人困惑了 运算符优先级和结合性 两点 操作员 如果一个或两个参数都是字符串 则进行字符串连接 操作员 从左到右工作 所以在你的例子中 Hi 6 is Hi6 and Hi6 10 is Hi610 编辑 正如您在对另一个
  • 为什么我的 Java 路径中添加了“L”?

    我在我的类路径中加载了一个 jar 在 iReport 中 如果重要的话 我确信它具有所需的方法 但是当我尝试测试连接 从而调用该 jar 时 我得到一个 java lang NoSuchMethodError 说它正在引用班上 Lorg
  • 如何设置 commons-logging 来使用 logback?

    我们使用 slf4j logback 并且碰巧有一些使用 commons logging 的第三方库 如何设置它以使用 logback 答案是不要使用 commons logging jar 因为 SLF4J 的设计目的与 commons

随机推荐

  • TOpenDialog 的尺寸数据存储在哪里以及如何重置?

    TOpenDialog有一个选项ofEnableSizing它允许用户修改打开对话框的对话框大小 该尺寸数据似乎是为应用程序存储的 如果程序再次启动 对话框将以相同的大小打开 我的问题是 这些数据存储在哪里 我想知道是否有一种简单的方法来重
  • 在 Bash 脚本中使用 Expect 为 SSH 命令提供密码

    我正在尝试使用expect在 Bash 脚本中提供 SSH 密码 提供密码是可行的 但我并没有像我应该的那样进入 SSH 会话 它又回到了 Bash 我的脚本 bin bash read s PWD usr bin expect lt
  • 找到有向无环图的宽度......只能找到父母

    我试图找到有向无环图的宽度 由任意排序的节点列表表示 甚至没有邻接列表 该图 列表适用于类似 GNU Make 的并行工作流程管理器 该管理器使用文件作为执行顺序的标准 每个节点都有一个源文件和目标文件的列表 我们有一个哈希表 这样 给定文
  • 当数据形状为(x,y,z)时如何进行聚类?

    假设我有 10 个单独的观测值 每个观测值的大小为 125 59 我想根据这 10 个观测值的 2d 特征矩阵 125 59 对它们进行分组 这是否可以在不将每个观测值展平为 125 59 1D 矩阵的情况下实现 我什至无法实现 PCA 或
  • Promtail 错误管道阶段只能包含一个键

    尝试设置 Promtail 时出现以下错误 level error ts 2020 11 27T06 10 30 310583Z caller main go 104 msg 创建 promtail 时出错 error 无法创建文件目标管理
  • C/C++ 中的非线程安全文件 I/O

    在解决我们应用程序中的一些性能问题时 我发现 C 的stdio h函数 至少对于我们的供应商来说 C 的fstream类 是线程安全的 结果 每次我做一些简单的事情时fgetc RTL 必须获取锁 读取一个字节 然后释放锁 这对性能不利 在
  • 如何更改 UISearchBar +iPhone 中显示的取消按钮的默认文本

    我正在开发一个应用程序 我想更改搜索栏中搜索字符串的文本 我想更改搜索栏旁边显示的取消按钮的文本 在搜索栏中输入任何字符串之前 我们会将搜索字符串作为默认字符串 我想更改该字符串的文本 当我们单击该搜索栏时 我们会在搜索栏旁边看到一个取消按
  • Django:从日期时间字段查询时间

    在基于 Django 的 postgresql 数据库上 如何按时间过滤日期时间字段 如下所示 class Foo models Model start date models DateTimeField end date models D
  • Objective C 项目中的 Xcode 8.3 Swift 版本错误 (SWIFT_VERSION)

    我在纯 Objective C 项目中使用 Xcode 8 3 时遇到以下错误 我无法找到解决方案 我的构建设置中没有快速参数 而且我也无法在网上找到任何解决方案 有任何想法吗 几天前构建得很好 我能看到的唯一区别是 xcode 更新了 S
  • UnlockField 在 CakePHP 中不起作用

    只是想制作一个非常标准的用户编辑页面 密码 和 重新密码 开始隐藏 但可以通过单击 编辑密码 按钮将其打开 但是 我不断收到来自安全组件的 auth 黑洞错误 Per CakePHP 书 http book cakephp org 2 0
  • 如何创建Facebook风格的固定状态栏?

    我想通过 Web 表单创建固定状态栏以向用户显示各种状态 消息 通知 我可以使用固定 CSS 属性 但我想在 6 7 和 Firefox 中实现 以及所有浏览器 这是关于如何修复底部页面上的元素 栏的快速且简单的解决方案 jixedbar
  • Nashorn JS 对象对 java.util.Map 有效吗?

    我有java方法 void someMethod String str Map map 从 JS 调用这个方法 var map new Object map key1 val1 someMethod str map 例外 java lang
  • 我如何制作一个左/右侧圆润如圆的按钮

    我正在尝试制作一个侧面呈圆形的按钮 但是当我更改屏幕大小时 按钮侧面左侧呈圆形 不会保持纵横比 我认为 我想要每个尺寸的下一个切换按钮 如何为每个分辨率制作一个边角为圆角的 XML 我已阅读此内容 但这不是解决方案 如何让按钮的角变圆 ht
  • Tomcat应用部署监听器

    我想知道如何监听 Tomcat Web 应用程序部署 我希望每次从容器中取消部署应用程序或将应用程序部署到容器时都调用我的侦听器 我已经调查了一下并发现一些听众 即LifecycleListener可以通过 JMX 注册 但不幸的是 这个监
  • 在 iOS 中创建“流布局”类型布局的最佳/最简单方法是什么

    Q1 我有三个控件 UILabel UIButton and UILabel在一行中 我想以编程方式将它们一个接一个地排成一行 没有任何间隙 类似于Java Android Flowlayout 布局 因为每个控件上的文本长度会因用户操作而
  • 使用 Python 的 Mechanize 模块验证 br.submit()

    只是尝试使用 mechanize 登录网站 当我打印 br form 时 我可以看到我的凭据输入到我的表单中 但我不知道如何正确提交表格 我使用 br submit 并尝试通过打印 br title 来验证它是否已进入下一页 但出现的标题是
  • 使用 os.kill() 后如何找出子进程何时终止?

    我有一个 Python 程序 准确地说 是一个 Django 应用程序 它使用以下命令启动子进程subprocess Popen http docs python org 2 7 library subprocess html subpro
  • 如何在Windows上自动启动virtualenv环境

    谁能给我一些关于在 Windows 上自动启动 virtualenv 应用程序的建议 我有一个在 Gunicorn 上运行的小型 Flask 应用程序 运行良好 但是如何将其投入生产呢 我不想手动进入并 cd 进入目录并输入 activat
  • 如何排除图例中的系列 (Flex)

    在弹性图表中 我想画一些与特定系列相关的 参考线 之类的东西 因此 这些线不是独立的系列 不应在图例中显示 是否可以从图表图例中排除某些系列 谢谢 我详细阐述了 Luis B 的答案 使其动态地反映在折线图的数据提供者上 这样 图例仅显示图
  • 在 Java 中使用正则表达式查找重复模式

    我正在使用正则表达式来匹配以下字符串 String sample1 key value key value key value key value 正如您所看到的 key value 定期重复 唯一的分隔符是 管道 注意事项 键 gt 只是