Shupapan では、正規表現を使う事により、特定のファイルや文字列のみを処理する事ができるようになります。リネーム処理「指定文字列の検索・置換」、「大文字←→小文字変換」、「半角英数字←→全角英数字変換」、「ファイルフィルタ」などでサポートしています。
正規表現の使い方については、インターネット上で解説されているサイトが多くありますので、そちらも併せてご覧ください。
正規表現を利用できる機能で使える正規表現の書式の一覧です。以下の書式の組み合わせにより柔軟な文字列の検索を行う事ができます。
書式 | 処理 | 例、備考 |
---|---|---|
\ | 直後のメタキャラクタ (制御文字)を通常の文字として扱う |
|
直後の通常の文字をメタキャラクタ (制御文字)として扱う | 「 \t 」:タブ | |
^ | 文字列の始めと一致 | For example:「 ^(img) 」=「 img 」から始まる文字列と一致 |
否定処理 | For example:「 [^abc] 」=「 abc 」以外の任意の1文字と一致
|
|
$ | 文字列の終わりと一致 | For example:「 (img)$ 」=「 img 」で終わる文字列と一致 |
* | 直前の文字と0文字以上一致 | For example:「 6* 」=「 66 」でも「 666666 」でも一致 |
+ | 直前の文字と1文字以上一致 | 上記参照。
|
. | 改行以外のすべての単文字と一致 | For example:「 .+ 」=1文字以上のすべての文字と一致 |
? | 直前の文字と0文字または1文字一致 | |
| | 「 | 」で区切られた文字列のどちらかと一致 | For example:「 a|b|c 」=「 a 」、「 b 」、「 c 」の内どれか1つと一致 |
{x} | 直前の文字とx文字一致 | For example:「 a{5} 」=「aaaaa」と一致 |
{x,} | 直前の文字とx文字、またはそれ以上一致 | For example:「 a{3,} 」=「aaa」、「aaaaaaa」などと一致(「a」が3文字以上) |
{x,y} | 直前の文字とx文字以上、y文字以下で一致 | For example:「 a{3,5} 」=「aaa」、「aaaa」などと一致(「a」が3文字以上、5文字未満) |
[ ] | 「 [ ] 」内の1文字と一致 |
|
[^ ] | 「 [^ ] 」内に含まれていない任意の1文字と一致 |
|
() | 「 ( ) 」内の文字列を一つのグループとして取り扱う。 |
|
\b | 単語の境界と一致 | |
\B | 単語の境界以外の部分と一致 | |
\d | 数字と一致 | [0-9]と同じ |
\D | 数字以外の文字と一致 | [^0-9]と同じ |
\s | スペース、タブ、改行などの空白文字と一致 | |
\S | スペース、タブ、改行などの空白文字以外と一致 | |
\t | タブ文字と一致 |
|
\w | 英数字と一致 | [a-zA-Z0-9_]と同じ |
\W | 英数字以外の文字と一致 | [^a-zA-Z0-9_]と同じ |
\0 | NULL文字と一致 |
|
\*** (*は数字) |
***に入力した10進数(000〜255)のASCIIコードの文字と一致 | |
\x** (*は16進数) |
**に入力した16進数(00〜FF)のASCIIコードの文字と一致 | |
(?:text) | For grouping without creating backreferences | |
(?=text) | A zero-width positive look-ahead assertion | For example:\w+(?=\t) matches a word followed by a tab, without including the tab in $&. |
(?!text) | A zero-width negative look-ahead assertion | For example:foo(?!bar)/matches any occurrence of "foo" that isn't followed by "bar". |
(?<=text) | A zero-width positive look-behind assertion | For example:(?<=\t)\w+ matches a word that follows a tab, without including the tab in $&. Works only for fixed-width look-behind. |
(?<!text) | A zero-width negative look-behind assertion | For example:(?<!bar)foo matches any occurrence of "foo" that does not follow "bar". Works only for fixed-width look-behind. |
最初の区切り文字と最後の区切り文字、その間に含まれる全ての文字を検索するようになります。
この機能は Greediness オプションのチェックボックスにチェックを入れるか、書式の最後に「?」を付ける事で有効になります。
文字列 | 検索文字列 | 置換文字列 | Greediness オプション | 結果 | 補足 |
---|---|---|---|---|---|
<a>00<a>11<a>22<a>33<a> | <a>.+<a> | xxxx | 有効 | xxxx | 「<a>00<a>11<a>22<a>33<a>」と一致するため、結果は「xxxx」になります。 |
無効 | xxxx11xxxx33<a> | 「<a>00<a>」と「<a>22<a>」と一致するため、結果は「xxxx11xxxx33<a>」になります。 |