我使用的是Positive Lookahead,不能在我可爱的字符串前清除2个空格,因为lookbehind中的量词使其非固定宽度。
我可以很容易地在。net中删除函数,但我只是想用rgx清除它。
字符串是:
Propocet na CZK Kurz 1.00000 Per CZK.
正则表达式是:
(?<=[Kurz]s)s*d*.d*(?=s*Pers[EeCc][UuZz][RrKk])
链接:https://regex101.com/r/GaZKGB/1
你可以在数字100000前看到空格,有时只有一个,有时多或少,我想清除它:)
谢谢!
可以使用
Kurzs*Kd+(?:.d+)?(?=s*Pers[EeCc][UuZz][RrKk])
参见regex演示。
注意:
[Kurz]
匹配r
,z
,u
或K
,而不是Kurz
作为字符序列K
是一个匹配重置操作符,它将丢弃到目前为止从整个匹配内存缓冲区中匹配到的文本- 未转义的
.
匹配任何字符,要匹配文字.
,您需要转义它。
细节:
Kurz
- a words*
-零或多个空白K
-匹配复位操作符d+
-一个或多个数字(?:.d+)?
-.
和一个或多个数字的可选序列(?=s*Pers[EeCc][UuZz][RrKk])
-一个正向前看,匹配紧跟着零或多个空格的位置,Per
,一个空格,然后E
或C
,然后U
或Z
,然后R
或K
不区分大小写。