0

Notepad++ を使用しており、連続した数字のみを照合する正規表現が必要です

例:

verses 3-4
verses 11-12
verses 26-27

したがって、正規表現はこれらの一致を見つけますが、次のような行ではありません: 3-9 節、または 26-32 節など..

\d+ を使っていますが、同じものを 1 ずつ増やす方法がわかりません。

4

2 に答える 2

1

正規表現は、数値ではなくテキストと一致します。したがって、正規表現だけでこれを行うことはできません (すべての可能な組み合わせを詳しく説明しない限り)。一致したテキストを整数に変換して比較するスクリプト言語が必要です。

たとえば、Python では次のようになります。

for potentialmatch in re.finditer(r"(\d+)-(\d+)", mytext):
    if int(potentialmatch.group(1)) + 1 == int(potentialmatch.group(2)):
        # Match found
于 2013-01-21T08:20:16.653 に答える
1

そのようなオプションをすべて含む正規表現を使用しない限り、それを行うことはできません。

ただし、生成することはできます。

(1..99 | %{"$_-$($_+1)"}) -join '|'

PowerShell では、1 ~ 2 から 99 ~ 100 までのすべてに一致する正規表現が生成されます。

于 2013-01-21T08:20:54.543 に答える