正規表現を「アンラップ」すると、それぞれ次のようになります。
/\*\*\s*(.*?)\s*\*/
;に置き換え** $1 **
ます
/\*.*?\*\*/
;に置き換え.
ます
/\*[^*].*?[^*]\*/
何も(空の文字列)に置き換えます。
最初の正規表現:
/\*\* # Look for '/' followed by two occurrences of '*',
\s* # followed by zero or more space characters,
(.*?) # followed by zero or more of any character, lazily (with capture),
\s* # followed by zero or more space characters,
\*/ # followed by a '*' and a '/'
キャプチャ内の数量詞は怠惰(*?
)であるため、正規表現エンジンは、正規表現の次のコンポーネント()が満たされる前に、可能な最小量のテキストを照合しようとします(\s*
通常の「貪欲な」数量詞とは異なり、*
必要に応じて、次のコンポーネントを満たすためにテキストを返す前に、可能な最大量に一致させます)。キャプチャは$1
、置換テキストのように利用できます。
2番目の正規表現:
/\* # Look for a '/' then a '*',
.*? # followed by zero or more of any character, lazily,
\*\*/ # followed by two '*' and a '/'
そして、これらすべてを1つのドット()に置き換えます.
。
3番目の正規表現:
/\* # Look for a '/' then a '*',
[^*] # followed by one character which is not a '*',
.*? # followed by zero or more of any character, lazily,
[^*] # followed by one character which is not a '*',
\*/ # followed by a '*' then a '/'.
そして、これらすべてを空の文字列に置き換えます。