我正在尝试匹配一个浮点数,后面是一个可选的空格,后面跟着一个符号列表,这些符号可以如下所示
price of rldtoken
420 rld.token 0.28 btc
42.37 rldtoken to xrp
42.37rldtoken to xmr
cost of rldtoken
10 btc 12.47 rldtoken to xmr
whatisrldtoken
btcc price
btc cost
0.2btc我目前正在使用这个正则表达式。
((?:0|[1-9]\d*)?(?:\.\d+)?)\s*\b(rld[\W_]*token|btcc|btc|ark|xmr|xrp)\b分解成
((?:0|[1-9]\d*)?(?:\.\d+)?) Match float
\s* Match 0 or more spaces
\b(rld[\W_]*token|btcc|btc|ark|xmr|xrp)\b Match words它与xrp和0.2btc匹配,除了42.37rldtoken之外,我假设这必须使用空格和单词边界。
如果我删除了单词边界,它与我不想匹配的whatisrldtoken匹配。
对如何进行的一些指导将是非常感谢的。
编辑操作中的所有内容这里
发布于 2019-07-15 16:35:13
您可以使用tis regex:
(?:(\.\d+|\b\d+(?:\.\d+)?)\s*|\b)(rld[\W_]*token|btcc|btc|ark|xmr|xrp)\b为了匹配浮点数字,更准确的匹配数字,从点开始的交替,而不是保持这两个部分的可选性,这将导致匹配空字符串。
https://stackoverflow.com/questions/57043834
复制相似问题