我一直在努力编写一个正则表达式,完全按照标题中的说明进行操作。我需要找到所有出现的xA,或xkA或xmA(以及变化,例如x k A或xk A),以便稍后格式化这些安培:x A,x kA,x mA。
不幸的是,正如我所知,只要找到它就会选择数字+ A:
F-2A WACEGF2AOKR 10m A AC
F-3A WACEGF3AOKR 10k A AC
C-7A WACEGC7AOKR 20m A.
我的正则表达式:
([0-9]+)([m|k])? ?A
我在网上找到了一些方案:
[^- a-zA-Z]([0-9]+)([µ|µ|m|M|k|G|]) ?A
但它在Dreamweaver中运行时失败了(我必须在DW中使用它,它是更大命令的一部分) - 它在后向引用中“吃掉”部分字符串,例如。 “1000”中的“10”
编辑:
\b([0-9]+)([µmMkG]|µ)\s*A
(?<![0-9])([0-9]+)([µmMkG]|µ)\s*A
第二个没有选择任何东西:(
注意我试图不删除数字前的字符,即>
或/
,如果我使用以下内容删除:
您可以使用以下正则表达式:
(^|[^\w-])\b([0-9]+)([µmMkG]|µ)? ?A
更换时,请注意您可以使用$
+识别该组的数字来访问使用捕获组捕获的文本。例如。 (^|[^\w-])
文本可通过$1
访问,([0-9]+)
文本可通过$2
访问,([µmMkG]|µ)
可通过$3
访问。
细节
(^|[^\w-])
- 第1组:字符串的开头或除字母,数字,下划线和-
之外的任何字符\b
- 一个单词边界([0-9]+)
- 第2组:一个或多个数字([µmMkG]|µ)?
- 第3组(可选):µ
,m
,M
,k
,G
或µ