簡體   English   中英

正則表達式匹配的字符串

[英]RegEx match of a string

我在用c#工作並且是一個有趣的項目,現在我的RegEx遇到了問題。 我嘗試了一些變更,但沒有找到解決方案。 我想要此字符串"##Test1##"RegEx

所以我在這里嘗試過此RegEx:

[\#]{2}[a-zA-Z0-9]{1,}[\#]{2}

其工作正常,但我的問題是,
當傳遞"###Test1###" ,RegEx會忽略第一個和最后一個#並匹配內部的"##Test1##"

但是我不想要那個。

RegEx僅應與此字符串##Test1##匹配。

希望這里有些人可以幫助我解決這個問題。
問候,

如果正則表達式應與您指定的字符串匹配,則為正則表達式:

^##Test1##$

如果您希望它匹配"##(any digit or letter here)##"類的字符串,則可以使用:

^##[a-zA-Z0-9]+##$

這將匹配字符串

##abc##
##123##

但不是

###xxx###     <-- 3 #'s

我認為您要在此處查找的主要部分是以下兩個符號:

+------------------- matches the beginning of the string
|                +-- matches the end of the string
v                v
^##[a-zA-Z0-9]+##$

這兩項將確保你沒有搜索到的字符串,看看你的格局里面它的存在,但如果字符串的模式匹配完全你不是檢查。

單獨使用時,以及嵌入較長的字符序列時,這將匹配所需的字符串:

[^#]*##[a-zA-Z0-9]+##[^#]*

Hello##World##! -> matches=true
##World##       -> matches=true

Hello##World### -> matches=false
###World###     -> matches=false

好吧,那是因為包含在里面,所以顯然是正確的。 如果在結尾處使用“排除”字符(如.^#* ,那該怎么辦,但顯然只有當您要避免使用該字符時,該方法才有效...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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