You can try this regex:
String regex = "\\(\\d+\\)$";
题
I need some help to save my day (or my night). I would like to match:
Here's the code I have come up with:
// this how the text looks, the part I want to match are the digits in the brackets at the end of it
String text = "Some text 45 Some text, text and text (1234)";
String regex = "[no idea how to express this.....]"; // this is where the regex should be
Pattern regPat = Pattern.compile(regex);
Matcher matcher = regPat.matcher(text);
String matchedText = "";
if (matcher.find()) {
matchedText = matcher.group();
}
Please help me out with the magic expression I have only managed to match any number of digits, but not if they are enclosed in brackets and are at the end of the line...
Thanks!
解决方案
You can try this regex:
String regex = "\\(\\d+\\)$";
其他提示
If you need to extract just the digits, you can use this regex:
String regex = "\\((\\d+)\\)$";
and get the value of matcher.group(1)
. (Explanation: The (
and )
characters preceded by backslashes match the round brackets literally; the (
and )
characters not preceded by
backslashes tell the matcher that the part inside, i.e. just the digits, form a capture group, and the part matching the group can be obtained by matcher.group(1)
, since this is the first, and only, capture group in the regex.)
This is the required regex for your condition
\\(\\d+\\)$