I want to find words which start with a specific letter in a string using the following code. The specific letter would be supplied by the user in a text box.
This is what I have:
<!DOCTYPE html>
<html>
<body>
<input id="srch" type="text" />
<button onClick=searchword()>Search</button>
<p id="wrd" > hallo, this is a test john doe .
Another tea house pole.
</p>
</body>
<script>
function searchword() {
var s = document.getElementById("wrd").innerHTML;
var p= document.getElementById("srch").value;
var regx = new RegExp("(?:^|\W)" + p + "(\w+)(?!\w)","gi");
var re = regx, match, matches = [];
while (match = re.exec(s)) {
matches.push(match[0]);
}
alert(matches);
}
</script>
</html>
You can use word boundaries \b
, the following example shows how to match every word starting with t
var string ="hallo, this is a test john doe .Another tea house pole. Hey Tom." result = string.match(/(\bt\S+\b)/ig); //result = string.match(/(\st\S+)/ig); // alternative document.write(result);
var string ="hallo, this is a test john doe .Another tea house pole. Hey
Tom."
result = string.match(/(\ba\S+\b)/ig);
document.write(result);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.