我想查找后跟“f”、“ff”、“f”的数字。或“ff”。按照给定的约定/规则标准化拼写。
我已经尝试了一些正则表达式,但不幸的是我没有找到一个通用表达式来抓住上述所有情况(f,ff,f.,ff.)。
用口语来说,这似乎很容易:
- 查找数字
- 后跟一个可选的空格
- 然后是f,ff,f。或ff。
- 表达式前后只允许有空格或非单词边界
正则表达式的开头很容易,但我不知道如何处理不同的“f”-case 以及后面的 NOT 边界。
我最好的猜测是:
(?<=\b)(\d+(\h|\b)?f{1,2})\.?
但是仍然会找到后面跟着一个单词字符的stings。
当我将正则表达式扩展到:
(?<=\b)(\d+(\h|\b)?f{1,2})\.?(\W)
“虚假资金”数量在减少,但仍不是解决办法
我准备了测试线。应该找到包含加号“+”的行,同时不应该找到带有减号“-”的行。
00f aaa +
00f. aaa +
00ff aaa +
00ff. aaa +
00 f aaa +
00 f. aaa +
00 ff aaa +
00 ff. aaa +
+ aaa 00f aaa +
+ aaa 00f. aaa +
+ aaa 00ff aaa +
+ aaa 00ff. aaa +
+ aaa 00 f aaa +
+ aaa 00 f. aaa +
+ aaa 00 ff aaa +
+ aaa 00 ff. aaa +
+ aaa 00f
+ aaa 00f.
+ aaa 00ff
+ aaa 00ff.
+ aaa 00 f
+ aaa 00 f.
+ aaa 00 ff
+ aaa 00 ff.
00 faaa -
00 f.aaa -
00 ffaaa -
00 ff.aaa -
00af aaa -
00af. aaa -
00aff aaa -
00aff. aaa -
- aaa 00 faaa -
- aaa 00 f.aaa -
- aaa 00 ffaaa -
- aaa 00 ff.aaa -
- aaa 00af aaa -
- aaa 00af. aaa -
- aaa 00aff aaa -
- aaa 00aff. aaa -
- aaa00f
- aaa00f.
- aaa00ff
- aaa00ff.
- aaa 00af
- aaa 00af.
- aaa 00aff
- aaa 00aff.
00faaa -
00f.aaa -
00ffaaa -
00ff.aaa -
00af aaa -
00af. aaa -
00aff aaa -
00aff. aaa -
- aaa00 faaa -
- aaa00 f.aaa -
- aaa00 ffaaa -
- aaa00 ff.aaa -
- aaa00af aaa -
- aaa00af. aaa -
- aaa00aff aaa -
- aaa00aff. aaa -
- aaa00af
- aaa00af.
- aaa00aff
- aaa00aff.
此外,目的是以某种方式对数字和“f”-cases 进行分组,以便它们可以在替换表达式中使用,以将拼写标准化为其中一种情况:
- 123 英尺。(带空格,带点)
- 123 ff(带空格,不带点)
- 123ff。(不带空格,带点)
- 123ff(无空格,无点)