繁体   English   中英

Java Regex:如何使用OR操作来提取子字符串

[英]Java Regex: how to use OR operation to extract substring

现在我有一组以下两种格式的字符串(混合在一起):

1. /c/en/SUBSTRING
2. /c/en/SUBSTRING/some_other_string

我想使用单个Java Regex从字符串中提取SUBSTRING。 我知道如何为第二种情况做这件事: Pattern.compile("^/c/en/(\\\\w+)/") 显然我可以使用两个正则表达式,一个用于第一个用例,一个用于第二个用例,然后使用成功的一个。 但这是浪费计算。 如何考虑第一个案例并使用单个Regex完成任务?

我试过"^/c/en/(\\\\w+)[/|$]""^/c/en/(\\\\w+)/|$"但它们不起作用。 谢谢。

做就是了:

Pattern.compile("^/c/en/([^/]+)")

并使用Matcher.find()对输入。 子字符串将在此匹配器的.group(1)可用。

暂无
暂无

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

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