2013-02-06 190 views
0

有沒有辦法使用Perl風格的正則表達式來匹配一個字符,並用它的大寫/小寫替換而不依賴於另一種語言(PHP,JavaScript,什麼)?true或false:純正則表達式可以將大寫轉換爲小寫?

修改字符串的情況下將方便能在VI編輯記事本++ PHP等做具有任何情況下都是一種不同的方法來代替。

或許不會,呵呵..

+1

恐怕純正規表達式不能做這樣的事情。 – Toto

+0

是的,[在Notepad ++中,你可以](https://stackoverflow.com/questions/31952353/notepad-capitalize-every-first-letter-of-every-word)。另外,在一般的Boost正則表達式中,它可能在許多R構建中。 –

+0

@WiktorStribiżew此問題與您鏈接的帖子不重複。這個問題具體是關於** regex ** _的能力。您鏈接的帖子正在查看EditPad&Notepad ++等非正則表達式。 – doub1ejack

回答

1

就像你說的,「可能不是」。

正則表達式並不是要修改字符串,只是爲了搜索/匹配它們。您將始終需要某種「外部」語言或程序來進行修改或以其他方式處理正則表達式的輸出。

0

正則表達式用於匹配,你的工具(六,記事本++,PHP)在做替換。

1

從我的理解中,答案是假的。

正則表達式定義了語法,如何匹配文本。但如何對匹配的文本進行進一步的操作,這是混凝土實現的工作。像python/java/perl/vim/sed/awk/...中的替代函數一些工具不提供,例如grep

相同的情況下更改。

如果你想想看,替代的方法/函數是那些語言之間的不同/工具

awk: sub/gsub 
sed: s/../../ 
vim: s/../../ 
python: re.sub() 
java: replaceAll(..) ... 
... 

如果正則表達式的支持,爲什麼沒有標準的功能?

+0

所有你給一個例子關閉的功能只是使用正則表達式的輸出作爲一個項目清單和替換。這與正則表達式本身無關。正則表達式不能「支持」這些函數,因爲正則表達式並不知道它們是如何被使用的。 – Cerbrus

相關問題