Я хочу, чтобы соответствовать выражение как это:Regular Expression Java не буквенно-цифровой символ соответствия
500 q 6h
Если число может быть любое целое число (таким образом 2 q 500h
также является юридическим выражением).
Я пытаюсь соответствовать этому шаблону, используя регулярное выражение (\W|^)\d+ q \d+h(\W|$)
Используя эту модель, я бы ожидать, что строка как
a500 q 6h
быть не согласованы. Вместо этого он сопоставляется.
Кроме того, я хотел бы ожидать строку типа
(500 q 6h)
быть согласованы, но это не соответствует.
Я не понимаю, что я делаю неправильно.
^[0-9] + q [0-9] + h $ должно работать –
Является ли выражение в вашем вопросе непосредственно скопировано и вставлено из вашего кода? Я спрашиваю, потому что '\ W \ $' почти наверняка неверен, и, вероятно, '+' отсутствует после второго '\ d'. Убедитесь, что ваш '\ W' на самом деле заглавными. –
@CorvinMcpherson Это не соответствует '(500 q 6h)' хотя. –