Вы можете использовать это регулярное выражение:
(?:([1-9]?[0-9])[a-zA-Z ]{0,20}(?:arrests|arrested))|(?:(?:arrests|arrested)[a-zA-Z ]{0,20}([1-9]?[0-9]))
Делит поиск на 2 поочередно, независимо от того, находится ли число до или после 'арестов | арестовано'.
Создает незахват Group
, который соответствует number
от 1 до 9 (что необязательно) и от 0 до 9.За этим следует сопоставление 0 - 20 of any letter
и пробела (других слов), прежде чем оно совпадет с 'arrests OR arrested.
Затем происходит ИЛИ в противоположной ситуации (где число идет последним).
Это будет совпадать, еслиномер within 20 chars
из 'arrests|arrested
'.