str () в python для целого числа не будет печатать никакие десятичные числа.
Если у вас есть float, который вы хотите игнорировать десятичную часть, тогда вы можете использовать str (int (floatValue)).
Возможно, следующий код продемонстрирует:
& gt; gt; & gt; gt; str (5) '5' & gt; & gt; & gt; & gt; int (8.7) 8
В конкретном случае вашего регулярного выражения гораздо проще и читабельнее использовать чередование:
(?:sunday|saturday)
Или вы можете создавать чередование только между двумя позициями, в которых задействовано условное регулярное выражение (это более полезен в случае, когда существует много таких условных выражений, но относится только к соседней группе захвата). Используя пример в качестве примера, мы создадим только чередование для un
и atur
, поскольку только те, которые вовлечены в условие:
s(?:un|atur)day
Существует 2 общих типа условных регулярное выражение. (Есть более экзотические вещи, поддерживаемые регулярным выражением Perl, но для них требуется поддержка функций, которые не имеют регулярного выражения JavaScript или другого общего механизма regex).
(?(conditional-pattern)yes-pattern|no-pattern)
В JavaScript вы можете имитировать его с опережением, с (очевидным) предположением, что исходный conditional-pattern
является перспективным: ((?=conditional-pattern)yes-pattern|(?!conditional-pattern)no-pattern)
необходим негативный внешний вид, чтобы предотвратить случаи, когда входная строка передает conditional-pattern
и сбой в yes-pattern
, но она может соответствовать no-pattern
. Это безопасно, потому что положительный внешний вид и негативный внешний вид логически совпадают друг с другом. source
, затем соедините их вместе; это позволит изменениям распространяться на другие дублированные части, но затрудняет понимание регулярного выражения и / или делает для него существенную модификацию. Ссылки
(?(
(?(