java字符串正则寻找
时间: 2023-11-09 15:56:56 浏览: 42
为了在Java字符串中使用正则表达式进行寻找,你可以使用`Pattern`和`Matcher`类来完成。首先,你需要创建一个正则表达式模式,然后使用`Pattern.compile()`方法将其编译为一个`Pattern`对象。接下来,你可以使用`Matcher`类的`find()`或`matches()`方法来寻找匹配的部分。
在你提供的代码中,`getParmNames()`方法使用了正则表达式来寻找字符串中以`${}`或`#{}`包裹的部分。在这个方法中,先通过`Pattern.compile()`方法将正则表达式编译为一个`Pattern`对象,并使用`Matcher`类的`find()`方法来匹配字符串中的所有匹配项。然后,使用`m.group(0)`将匹配到的字符串添加到一个列表中,并最终返回该列表。
所以,在你的代码中,`getParmNames()`方法的输出结果是`[a1, a2, a3, a4]`,这是字符串中以`${}`或`#{}`包裹的部分。
相关问题
java中划线正则表达式
在Java中,划线正则表达式可以通过以下方式实现: "\\d+-\\d+"。这个正则表达式的含义是匹配一个数字,后跟一个连字符,再跟着另一个数字。通过这个正则表达式,你可以匹配到类似"123-456"这样的字符串。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [js正则表达式部分汇总](https://blog.csdn.net/wkj001/article/details/100051713)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *2* [用正则表达式寻找中文](https://blog.csdn.net/github_38885296/article/details/120480325)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
java提取字符串里的数字
可以使用正则表达式来提取字符串中的数字。下面是一个示例代码:
```java
String str = "hello 123 world 456";
Pattern pattern = Pattern.compile("\\d+"); // 匹配数字的正则表达式
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
String numStr = matcher.group(); // 获取匹配到的数字字符串
int num = Integer.parseInt(numStr); // 将字符串转换为整数
System.out.println(num);
}
```
以上代码会输出:
```
123
456
```
其中 `Pattern.compile("\\d+")` 表示将匹配至少一个数字的字符串,而 `Matcher.find()` 方法会在字符串中寻找匹配的子串,如果找到则返回 `true`,并通过 `Matcher.group()` 方法获取匹配的子串。最后将匹配到的数字字符串转换为整数即可。