2
我想將一些Perl代碼轉換爲python。我碰到這條線Perl正則表達式 U
if($Var=~ /^\U/)
{ dosomething(); }
我期待通過網絡表達,但我不能夠理解它的含義。
帶有\ U大寫至。\ E
。\ E結束的情況下修飾
請給出正確的用法如果可能的話,如何接近的蟒蛇等同的一個例子。
我想將一些Perl代碼轉換爲python。我碰到這條線Perl正則表達式 U
if($Var=~ /^\U/)
{ dosomething(); }
我期待通過網絡表達,但我不能夠理解它的含義。
帶有\ U大寫至。\ E
。\ E結束的情況下修飾
請給出正確的用法如果可能的話,如何接近的蟒蛇等同的一個例子。
正則表達式引擎對\U
一無所知。它由Perl解析器用雙引號和正則表達式文字處理。
"\Uabcdef" is the same as uc("abcdef")
"\Uabc\Edef" is the same as uc("abc")."def"
這意味着,
/^\Uabc/ is the same as /^ABC/
/^\U/ is the same as /^/
/^/
(因此/^\U/
)是毫無意義的,因爲它總是會匹配。
如果你想確保一個字符串全部由大寫字母,你會使用/^\p{Lu}*\z/
,或/^[A-Z]*\z/
如果你有信非常有限的定義。
Perl的
$var =~ /\Uabc\Edef/
將在下面的Python編寫:
re.search("abc".upper() + "def", var)
我不知道你瞭解Perl的'\ U'逃跑的意思。它本身不匹配_anything_,它只是修改後面的模式以僅匹配大寫字母。 '/^\ U /'將匹配_every_輸入。 – lanzz
你能舉個\ U的例子嗎? – pikapika
@pikapika,'print「\ Ufoo \ Ebar」;' – Qtax