当且仅当一个数是一个代码点与\pN
属性,比nonnumber是缺乏所述属性,其中一个写入\PN
任何代码点。
一些正则表达式方言pusillanimously坚持拥抱那些,如\p{N}
或\P{N}
- 这是废话,但你是你的语言设计者的率性和弱点,不安全感或无知的囚犯。
在那些更具可读性的弯曲正则表达式中,您可以使用更自由且更清晰的方式编写这些方言,分别为\p{Number}
和\P{Number}
。
如果你说的是十进制数,这是不同一个号码,你可以写为\p{Nd}
,与它的补因此\P{Nd}
。这些清晰的版本是\p{Decimal_Number}
和\P{Decimal_Number}
。在某些编程语言中,这是正则表达式便利缩写代表的内容。
有相关数字四大类:
N Number
Nd Decimal_Number (also Digit)
Nl Letter_Number
No Other_Number
,并有相关的数字众多其他类别:
Alnum InCommonIndicNumberForms Numeric_Type:Numeric Numeric_Value:18 Numeric_Value:38 Numeric_Value:400 Numeric_Value:60000
Bidi_Class:Arabic_Number InCountingRodNumerals Numeric_Value:0 Numeric_Value:19 Numeric_Value:39 Numeric_Value:500 Numeric_Value:70000
Bidi_Class:European_Number InCuneiformNumbersAndPunctuation Numeric_Value:NaN Numeric_Value:20 Numeric_Value:40 Numeric_Value:600 Numeric_Value:80000
Block:Aegean_Numbers InEnclosedAlphanumerics Numeric_Value:1 Numeric_Value:21 Numeric_Value:41 Numeric_Value:700 Numeric_Value:90000
Block:Ancient_Greek_Numbers InEnclosedAlphanumericSupplement Numeric_Value:2 Numeric_Value:22 Numeric_Value:42 Numeric_Value:800 Numeric_Value:100000
Block:Common_Indic_Number_Forms InMathematicalAlphanumericSymbols Numeric_Value:3 Numeric_Value:23 Numeric_Value:43 Numeric_Value:900 Numeric_Value:100000000
Block:Counting_Rod_Numerals InNumberForms Numeric_Value:4 Numeric_Value:24 Numeric_Value:44 Numeric_Value:1000 Numeric_Value:1000000000000
Block:Cuneiform_Numbers_And_Punctuation InRumiNumeralSymbols Numeric_Value:5 Numeric_Value:25 Numeric_Value:45 Numeric_Value:2000 Other_Number
Block:Enclosed_Alphanumeric_Supplement Letter_Number Numeric_Value:6 Numeric_Value:26 Numeric_Value:46 Numeric_Value:3000 PosixAlnum
Block:Enclosed_Alphanumerics Line_Break:Infix_Numeric Numeric_Value:7 Numeric_Value:27 Numeric_Value:47 Numeric_Value:4000 Sentence_Break:Numeric
Block:Mathematical_Alphanumeric_Symbols Line_Break:Numeric Numeric_Value:8 Numeric_Value:28 Numeric_Value:48 Numeric_Value:5000 Word_Break:ExtendNumLet
Block:Number_Forms Line_Break:Postfix_Numeric Numeric_Value:9 Numeric_Value:29 Numeric_Value:49 Numeric_Value:6000 Word_Break:MidNum
Block:Rumi_Numeral_Symbols Line_Break:Prefix_Numeric Numeric_Value:10 Numeric_Value:30 Numeric_Value:50 Numeric_Value:7000 Word_Break:MidNumLet
Decimal_Number Number Numeric_Value:11 Numeric_Value:31 Numeric_Value:60 Numeric_Value:8000 Word_Break:Numeric
General_Category:Decimal_Number Numeric_Type:De Numeric_Value:12 Numeric_Value:32 Numeric_Value:70 Numeric_Value:9000 XPosixAlnum
General_Category:Letter_Number Numeric_Type:Decimal Numeric_Value:13 Numeric_Value:33 Numeric_Value:80 Numeric_Value:10000
General_Category:Number Numeric_Type:Di Numeric_Value:14 Numeric_Value:34 Numeric_Value:90 Numeric_Value:20000
General_Category:Other_Number Numeric_Type:Digit Numeric_Value:15 Numeric_Value:35 Numeric_Value:100 Numeric_Value:30000
InAegeanNumbers Numeric_Type:None Numeric_Value:16 Numeric_Value:36 Numeric_Value:200 Numeric_Value:40000
InAncientGreekNumbers Numeric_Type:Nu Numeric_Value:17 Numeric_Value:37 Numeric_Value:300 Numeric_Value:50000
所以。 。 。你碰巧感兴趣的是哪一种“数字”? :)
什么语言? python,ruby,sed? – Peter 2010-12-02 21:51:39
有人请格式化他的代码:) – jordanbtucker 2010-12-02 21:54:52
@Peter - 看起来像瑞典语。 – eumiro 2010-12-02 22:04:00