繁体   English   中英

使用Java中的正则表达式获取特殊字符之间的字符串

[英]Get string between special characters using regex in Java

我正在尝试获取输入字符串的“ @function”和“ @”之间的字符串:

inputText = "@function square @default 2 @type Int @brief squares default number"

为了使“ @function”和“ @”之间的文本,正则表达式将是什么?

为了进行以下操作(在Java中):

Pattern p = Pattern.compile( some magic regex expression... );
Matcher m = p.matcher(inputText);
functionName = m.group;
System.out.println(functionName);

打印“正方形”

正则表达式:

@function(.*?)@

这应将“正方形”放入第一个捕获组。 然后,您可以使用Matcher.group(int)来获取该组。 如以下代码所示:

functionName = m.group(1);

group(int group)返回在上一次匹配操作期间给定组捕获的输入子序列。

https://docs.oracle.com/javase/7/docs/api/java/util/regex/Matcher.html#group(int)

编辑

添加了'\\ s'来修剪空格

https://regex101.com/r/PH54FV/1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM