目前,假設要操作的字符串是abXYabcXYZ,我想刪除所有不是「abc」的東西,全部放在一起。我正則表達式的命令是,像這樣:正則表達式並沒有替換所有請求的字符
[^abc]
返回AB + ABC+++,當我需要返回++++ ABC+++。如果我使用相同的字符串來操作,但只替換任何不是「ab」的東西,我會得到ab ++ ab ++++,這是正確的。如何做到這一點,所以第一次測試不會在ab中添加,當它缺少c時?
目前,假設要操作的字符串是abXYabcXYZ,我想刪除所有不是「abc」的東西,全部放在一起。我正則表達式的命令是,像這樣:正則表達式並沒有替換所有請求的字符
[^abc]
返回AB + ABC+++,當我需要返回++++ ABC+++。如果我使用相同的字符串來操作,但只替換任何不是「ab」的東西,我會得到ab ++ ab ++++,這是正確的。如何做到這一點,所以第一次測試不會在ab中添加,當它缺少c時?
正如NullUserExceptionexplained_ఠ所解釋的,正則表達式[^ abc]表示任何不是a
,b
或c
的單個字符。
使用正則表達式對ab++abc+++
進行更換隻能更換+
(+
是[^ ABC]),以+
(我想你替換[^ ABC]到+
),導致該字符串保持不變。
至於第二種情況,我想你想使用一個正則表達式[^ ab],它將匹配c
和+
這兩個字符,並得到結果ab++ab++++
。
這就解釋了爲什麼你有這個。我真的不知道是否有任何正則表達式匹配\w+
而不是像abc
這樣的特定字符串。並且在某些情況下,您可以通過將abc
替換爲不是字符的另一個字符串(如%
),並將所有\w
替換爲+
,然後將%
替換回abc
。
希望它有幫助。
正則表達式是完全錯誤的。 '[^ abc]'表示匹配不是'a','b'或'c'的任何字符。你是什麼意思的「正則表達式命令」?你到底在用什麼? – NullUserException
要理解你的方式的錯誤,請嘗試使用'axxxbxxxxcccxxxbbbbx'作爲任一正則表達式的輸入。 – NullUserException
嘗試[^ abc] +,因爲行中有多個元素。 –