Получить глобальный оттенок цвета из кода

Согласно Создайте регулярное выражение для соответствия произвольному числовому диапазону и после создания такого регулярного выражения для вашего примера в Regex_For_Range :

\b0*(1[1-9][0-9]|[2-9][0-9]{2}|1[0-9]{3}|2[01][0-9]{2}|22[0-2][0-9]|223[0-4])\b

выполнит трюк.

Процесс будет (по-прежнему после этого генератора регулярных выражений):

Сначала перейдите в равные диапазоны длин:

blockquote>
110 - 999
1000 - 2234

Во-вторых, перейдите в диапазоны, которые дают простые регулярные выражения:

blockquote>
110 - 199
200 - 999
1000 - 1999
2000 - 2199
2200 - 2229
2230 - 2234

Поверните каждый диапазон в регулярное выражение:

1[1-9][0-9]
[2-9][0-9]{2}
1[0-9]{3}
2[01][0-9]{2}
22[0-2][0-9]
223[0-4]

Свернуть смежные степени 10: 1 [1-9] [0-9] [2-9] [0-9] {2} 1 [0-9] {3 } 2 [01] [0-9] {2} 22 [0-2] [0-9] 223 [0-4]

Объединение приведенных выше выражений дает:

blockquote >
0*(1[1-9][0-9]|[2-9][0-9]{2}|1[0-9]{3}|2[01][0-9]{2}|22[0-2][0-9]|223[0-4])

Далее мы попытаемся разложить общие префиксы с помощью дерева: проанализировать дерево на основе префиксов регулярных выражений:

blockquote>
. 1 [1-9] [0-9]
+ [0-9]{3}
+ [2-9] [0-9]{2}
+ 2 [01] [0-9]{2}
+ 2 [0-2] [0-9]
+ 3 [0-4]

Поворот дерево разбора в выражение регулярных выражений:

blockquote>
0*(1([1-9][0-9]|[0-9]{3})|[2-9][0-9]{2}|2([01][0-9]{2}|2([0-2][0-9]|3[0-4])))

Мы выбираем более короткий, чем наш re sult.

blockquote>
\b0*(1[1-9][0-9]|[2-9][0-9]{2}|1[0-9]{3}|2[01][0-9]{2}|22[0-2][0-9]|223[0-4])\b

23
задан Jano 2 October 2013 в 14:01
поделиться