Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

JavaScriptで正規表現 | 1回以上の繰り返し

パンくず

JavaScriptで正規表現
1回以上の繰り返し

概要

1回以上の繰り返しを指定する場合

構文

プラスで1回以上の繰り返しになります
デフォルトで最長マッチ:全体マッチ=パターン以降も含め全てにマッチ
プラスとクエスチョンマークの併用で最小マッチ:最小マッチ=パターン自体のみマッチ

<html>
<head>
<script language="javascript">
function executeRegExp(target,pattern) {
	regExp = new RegExp(pattern);
	document.write('input:target=' + target + ',pattern=' + pattern + '<br />');

	if (target.match(regExp)) {
	    document.write('<div style="color:green;">match as ' + target.match(regExp) + '</div>');
	} else {
	    document.write('<div style="color:red;">unmatch</div>');
	}
  document.write('<br />');
}

function execLoad() {
  document.write('<b>全体マッチ</b><br />');
	pattern = 'test+';
	executeRegExp('test1',pattern);
	executeRegExp('testt',pattern);
	executeRegExp('tes',pattern);
	executeRegExp('t',pattern);

  document.write('<b>最小マッチ</b><br />');
	pattern = 'test+?';
	executeRegExp('test1',pattern);
	executeRegExp('testt',pattern);
	executeRegExp('tes',pattern);
	executeRegExp('t',pattern);
}
</script>
</head>
<body onload="execLoad()">
</body>
</html>

結果

全体マッチ
input:target=test1,pattern=test+
match as test

input:target=testt,pattern=test+
match as testt

input:target=tes,pattern=test+
unmatch

input:target=t,pattern=test+
unmatch

最小マッチ
input:target=test1,pattern=test+?
match as test

input:target=testt,pattern=test+?
match as test

input:target=tes,pattern=test+?
unmatch

input:target=t,pattern=test+?
unmatch