嗯,这不是正是你问什么,因为它不是Perl(gak),它是一个常规定义,不是一个正则表达式,但它是我用来识别C浮点文字的扩展名(该扩展名允许在数字字符串中使用“_”),我确定你可以将它转换成不可读的正则表达式,如果你想:
/* floats: Follows ISO C89, except that we allow underscores */
let decimal_string = digit (underscore? digit) *
let hexadecimal_string = hexdigit (underscore? hexdigit) *
let decimal_fractional_constant =
decimal_string '.' decimal_string?
| '.' decimal_string
let hexadecimal_fractional_constant =
("0x" |"0X")
(hexadecimal_string '.' hexadecimal_string?
| '.' hexadecimal_string)
let decimal_exponent = ('E'|'e') ('+'|'-')? decimal_string
let binary_exponent = ('P'|'p') ('+'|'-')? decimal_string
let floating_suffix = 'L' | 'l' | 'F' | 'f' | 'D' | 'd'
let floating_literal =
(
decimal_fractional_constant decimal_exponent? |
hexadecimal_fractional_constant binary_exponent?
)
floating_suffix?
C格式是专为编程langu年龄不是数据,所以它可能支持你的输入不需要的东西。