回答
如果你要刪除的領先的非字母可以匹配:
^[^a-zA-Z]+
與''
(空字符串)替換它。
說明:
first ^
- 錨,以配合在 begining。[]
- 焦炭類second ^
- 否定一個字符類+
- 一個或多個以前匹配的
所以正則表達式匹配一個或多個任何非字母是的在字符串的開頭。
在你的情況下,它將擺脫所有的領先空間,領導連字符和領先的等號。總之第一個字母表之前的所有內容。
^\ W +通常做同樣的事情,也許將+改成*(前面可能沒有任何內容) – NomeN 2010-03-15 14:40:22
@NomenN:\ W不包括數字,但[^ a-zA-Z]可以包含數字。用*代替+不是一個好主意,說輸入是「你好」,我不需要替換任何東西。但是如果我使用*,我仍然會有一場比賽(空比賽),我會用空蜇取代它......導致沒有改變。使用+不會匹配任何東西以替代...使其更有效率。明智的。 – codaddict 2010-03-15 15:06:44
我猜數字部分取決於要求。 * vs +的好解釋,我沒有考慮過。 – NomeN 2010-03-15 18:22:03
$a=~s/- = - - //;
的Java:
String replaced = a.replaceFirst("^[-= ]*", "");
我會將+改成* – NomeN 2010-03-15 14:41:51
@NomeN:爲什麼?如果沒有任何違規角色存在 - 噢,等等,我看@codaddict已經涵蓋了這一點。 – 2010-03-15 15:43:06
明白了........ – 2010-03-15 15:57:58
假設的Java試試這個正則表達式:
/^\W*(.*)$/
檢索捕獲組1的字符串!
\W*
比賽之前的所有非單詞字符
(.*)
然後用相匹配的第一個字字符開始的所有字符結束
^,$是界限。在這種情況下,你甚至可以不用$。
提示請嘗試優秀的Java regex tutorial以供參考。
謝謝@NomeN,你推薦的教程非常好:) – 2010-03-15 22:41:15
在Python:
>>> "- = - - What is your name?".lstrip("-= ")
'What is your name?'
要刪除任何類型的空白,使用.lstrip("-= \t\r\n")
。
不是。 'lstrip'獲取一個字符列表,而不是一個正則表達式。 – 2010-03-15 15:10:19
- 1. 正則表達式與字母數字,空格和破折號
- 2. PHP preg_replace破折號正則表達式
- 3. python正則表達式破折號
- 4. 正則表達式用破折號
- 5. 字母數字,空格,破折號和散列表的正則表達式
- 6. C#正則表達式:刪除前導和尾隨雙引號(「)
- 7. 用正則表達式刪除空格,逗號,冒號,分號
- 8. 正則表達式,包含字母,數字和破折號,但沒有前導或尾隨破折號
- 9. 刪除一個正則表達式中的冒號和空格
- 10. 正則表達式刪除空格和括號?
- 11. 正則表達式如何從文本中刪除所有長破折號/超文本和常規破折號?
- 12. ANT刪除空格正則表達式
- 13. 正則表達式刪除空格
- 14. 正則表達式刪除空格
- 15. Javascript正則表達式刪除空格
- 16. 正則表達式替換週期與破折號URL格式
- 17. 正則表達式 - 如何刪除破折號和字符,以獲得數字
- 18. 字母/數字字符,空格和破折號的正則表達式
- 19. 正則表達式的名字和姓氏用空格或破折號
- 20. 正則表達式只允許數字,逗號和破折號
- 21. 刪除。*正則表達式打破正則表達式
- 22. 用OR正則表達式去除過多的破折號
- 23. PHP正則表達式 - 剝奪一切,除了字母,空格,破折號,和@符號
- 24. 正則表達式刪除各地逗號,空格時引述
- 25. c#正則表達式0-9和破折號
- 26. 如何獲得破折號和數字的正則表達式
- 27. URL正則表達式匹配端口和破折號
- 28. 需要的正則表達式的數字和破折號
- 29. 只有數字和破折號的正則表達式
- 30. 只允許破折號和數字的正則表達式?
你在用什麼語言工作? – 2010-03-15 12:24:25
現在所有的答案都是正確的,其中一些更嚴格,他們從字符串中刪除的更自由。不同的語言對於它們的正則表達式也有稍微不同的實現/語法。所以你必須對你的正則表達式的語言和要求非常具體,以得到'最好'的答案。 – NomeN 2010-03-15 13:23:33