我有以下字符串:
#35+#36+#37+#38+#39+#40+#46+#47+#48+#49+#50+#51
我怎么才能只获得#
之后的数字。
又如何获得前面没有#
的数字?
答案 0 :(得分:2)
要匹配以#
开头的数字,请使用(?<=#)\d+
(正向查找
#
,然后是非空数字序列。
要匹配不以#
开头的数字,请使用(?<!\d|#)\d+
(负向后查找)。
但是这一次“禁止”前面的字符是#
或数字。
当然,请将两种模式都与g
(全局)选项一起使用。
如果您要处理所有数字是单循环,并且在此范围内
循环检测,数字是否前面有#
,可以使用另一个
选项,即(#?)(\d+)
。
此模式包含2个组:
#
和然后,处理每个匹配项,从组2中读取数字并检查组1,
是否包含#
。