[英]Regular expression to check for string between special characters in java
我必須檢查提供的字符串是否具有特定格式。 格式如下:“This is just an #<example string>
just for test. This string must be this #<specific format>
”。
如果你看一下這個字符串,它有特殊字符#<>
,在#<
和>
之間有一些字符串。 我嘗試使用正則表達式: Pattern.compile("^[#<a-zA-Z0-9>]*$").matcher(string).find()
但即使我不提供特殊的,它也會返回 true開頭或結尾的字符。
我也嘗試了 if 條件: if(string.matcher("#<"))
但我認為這種方法很蹩腳。 我寧願 go 與正則表達式。
我在這里做錯了什么?
要使用#<...>
和左右空白邊界之間的字符a-zA-Z0-9
匹配 1 個或多個“單詞”,您可以使用
(?<!\S)#<[a-zA-Z0-9]+(?: [a-zA-Z0-9]+)*>(?!\S)
在 Java
String regex = "(?<!\\S)#<[a-zA-Z0-9]+(?: [a-zA-Z0-9]+)*>(?!\\S)";
試試: Pattern.compile("#<(.*?)>")
建議您使用像https://regex101.com/這樣的網站來幫助您構建這些。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.