0
基本上我不會正則表達式,只能接受這樣的:正則表達式,其中一個詞首字母大寫,字由_包圍
Dog
Cat_Dog
Cat_Dog_Mouse
數字是允許的。 [0-9]與被視爲詞
Dog_003 -> OK
Dog003 -> NOT OK
Dog_003_ -> NOT OK
這是不允許的:
DoG
DOg
DOG (only first letter is uppercase)
Cat_Dog_
_Cat_Dog_ (_ can be only between words)
它將在Python被使用。
我的解決方案
reTitle2 = re.compile(
"""
^([A-Z]{1}|[A-Z]{1}[a-z]*|[0-9]+) # first part
(_[A-Z]{1}|_[A-Z]{1}[a-z]*|_[0-9]+)* # zero or more times
([A-Z]{1}|[A-Z]{1}[a-z]*|[0-9]+){0,1}$ # last part
"""
, re.UNICODE | re.VERBOSE)
有一些多餘的部分,但是我使它更容易理解。
你的正則表達式不好(例如,它接受狗),但我給了我一些想法。我發佈了我的想法。 – WebOrCode
它只是缺少錨點。 – Toto