Regex 用正则表达式解析字符串中的数字
我有数千篇包含数字的文章描述 它们看起来像: 约2760h3x1000.5DIN345x1500e34 得出的数字应为:Regex 用正则表达式解析字符串中的数字,regex,numbers,integer,trailing,Regex,Numbers,Integer,Trailing,我有数千篇包含数字的文章描述 它们看起来像: 约2760h3x1000.5DIN345x1500e34 得出的数字应为: 2760 1000.5 一千五百 h3或3不应是解析的结果,因为h3只是一个公差 e34也一样 DIN345是需要排除的标准值(每个数字后面都有DIN或BN) 我现在的正则表达式是: [^hHeE]([-+]?([0-9]+\[0-9]+|[0-9]+)) 这解决了除规范之外的所有问题。我怎样才能把这个“DIN”和“BN”当作一个单独的字符来处理呢 Thanx,Tom
- h3或3不应是解析的结果,因为h3只是一个公差
- e34也一样
- DIN345是需要排除的标准值(每个数字后面都有DIN或BN)
- [^hHeE]([-+]?([0-9]+\[0-9]+|[0-9]+))
Thanx,TomE如果我们可以假设数字总是四位数长,您可以使用正则表达式:
(\d{4}\.\d+|\d{4})
根据可能需要将
\d
替换为[0-9]
的语言,请尝试使用以下正则表达式:
(?<=x)[+-]?0*[0-9]+(?:\.[0-9]+)?|[+-]?0*[0-9]+(?:\.[0-9]+)?(?=h|e)
(?哪种语言?不同语言的正则表达式不一样languages@Avinash我认为编辑的结果不太正确。OP:Lookarounds可能就是你要找的东西。@Michelle回复说..你是说这个吗?所有的字符串都是那种格式吗?ca.####h3x####DINx######e34
?如果不是,你能给我们看看其他格式和预期产量?