У меня есть следующая строка в условии: 10.13.0.90:7000
Я хотел бы выделить его в два условия, например, 10.13.0.90 и 7000.
Я пытался <propertyregex property="client.ip" input="${client.address}" regexp="[0-9.]*:[0-9]*" select="\1" /> но это не работает. Условия, безусловно, правильные. Есть предложения?
<propertyregex property="client.ip" input="${client.address}" regexp="[0-9.]*:[0-9]*" select="\1" />
Большое спасибо!
\1 обозначает первую группу. но вы вообще не группировали ().
\1
()
Попробуйте это:
<propertyregex property="client.ip" input="${client.address}" regexp="([0-9\.]*):[0-9]*" select="\1" />
Вам нужно использовать круглые скобки, чтобы захватить группу, к которой вы обращаетесь, с помощью "\ 1", например,
regexp="([0-9.]*):[0-9]*"
Кстати, вы можете выразить цифры, используя \d вместо [0-9], например
\d
[0-9]
regexp="(\d.*):\d*"