Regex 正则表达式匹配后跟特定字符的数字

Regex 正则表达式匹配后跟特定字符的数字,regex,preg-match,Regex,Preg Match,很抱歉,我知道这是一个简单的问题,在这里不合适,但我在regex中很糟糕 我使用带有(数字a)模式的preg_match来匹配以下替换为子字符串 2A -> <i>2A</i> 100 A -> <i>100 A</i> 84.55A -> <i>84.55A</i> 92.1 A -> <i>92.1 A</i> 我可以建议 '~\b(?<![\d.])\d*\.?\

很抱歉,我知道这是一个简单的问题,在这里不合适,但我在
regex
中很糟糕

我使用带有(数字a)模式的
preg_match
来匹配以下替换为子字符串

2A -> <i>2A</i>
100 A -> <i>100 A</i>
84.55A -> <i>84.55A</i>
92.1 A -> <i>92.1 A</i>
我可以建议

'~\b(?<![\d.])\d*\.?\d+\s*A\b~'
'~\b(?$0'
,其中
$0
是整个匹配的反向引用

详细信息

  • \b
    -领先
  • (?-a,如果当前位置前有点或数字,则匹配失败(注意:添加此选项是为了避免类似字符串的匹配
    33.333.4444 a
    ,如果不需要,只需删除即可)
  • \d*\?\d+
    -一个常用的简化浮点/int值正则表达式(0+位,可选的
    和1+位)(注意:如果需要更复杂的正则表达式,请参阅)
  • \s*
    -0+空格
  • A\b
    -一个完整的单词
    A
    (这里,
    \b
    是一个尾随单词边界)

那么,
2A、100 A、84.55A、92.1 A
的预期输出是什么?@WiktorStribiżew我想匹配
italic
。看。@WiktorStribiżew我简直不敢相信。regex的世界对我来说就像一个魔法,让我看起来很愚蠢。谢谢!
'~\b(?<![\d.])\d*\.?\d+\s*A\b~'