簡體   English   中英

正則表達式檢查 java 中特殊字符之間的字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM