java - 在 Java 模式匹配方面需要帮助

标签 java regex

我输入的字符串为

String str = "IN Param - {Parameter|String}{Parameter|String}  Out Param - {Parameter   Label|String}{Parameter Label2|String}";

我应该可以得到

{Parameter|String}{Parameter|String}

来自 In Param 和

{Parameter Label|String}{Parameter Label2|String}

来自输出参数。

再次在 In Param 中,我应该能够获取参数和字符串。正则表达式匹配Java怎么可能?

最佳答案

可以通过组

所以正则表达式是:

"\\{(.*?)\\|(.*?)\\}"

Group1 捕获参数

Group2 捕获字符串

在这个正则表达式中 {(.*?)| 表示匹配 0 到 n 个以 { 开头并以 | 结尾的字符并存储group1 中的结果不包括 {|..这与 |(.*?)} 类似,但它将结果存储在 group2 中。 .

尝试一下 here

关于java - 在 Java 模式匹配方面需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13044522/

相关文章:

java - 在 HTML 中部署具有安全权限的 Java Applet

java - Android 如何每隔 x 小时或分钟执行一个方法

java - 使用 Java 中的属性文件中的值更新数据库

c# - 清理表单输入中的多个空格/换行符

javascript - javascript正则表达式中的冒号

java - 如何在java中上传带有附加信息的文件

regex - 删除双倍间距

python - float() 参数必须是字符串或数字,而不是 '_sre.SRE_Match'

regex - emacs 如何刷新缓冲区并保留突出显示 - 特别是对于日志

java - 使用 javapoet 构建类时返回正确类型的对象