我想要一个Javascript正则表达式,在给定的字符串中找到所有以特定字符开头并以特定字符结尾的子字符串。 返回的subStrings集可以是一个Array。 例如 STRING:
Body<input value="CourseName" class="emailButtonSnip" type="button"><input value="CourseDescription" class="emailButtonSnip" type="button"><input value="CourseEnrollmentDeadline" class="emailButtonSnip" type="button">"
开始char = "<input"
结束char = ">"
输出:
<input value="CourseName" class="emailButtonSnip" type="button">
<input value="CourseDescription" class="emailButtonSnip" type="button">
<input value="CourseEnrollmentDeadline" class="emailButtonSnip" type="button">
答案 0 :(得分:2)
您可以使用正则表达式来执行此操作:
var string = 'Body<input value="CourseName" class="emailButtonSnip" type="button"><input value="CourseDescription" class="emailButtonSnip" type="button"><input value="CourseEnrollmentDeadline" class="emailButtonSnip" type="button">';
var re = /\<input.*?\>/ig
var match;
while ((match = re.exec(string)) != null){
console.log(match[0]);
}
产地:
<input value="CourseName" class="emailButtonSnip" type="button">
<input value="CourseDescription" class="emailButtonSnip" type="button">
<input value="CourseEnrollmentDeadline" class="emailButtonSnip" type="button">
然而,正如评论中指出的那样,这可能不是最好的主意。
修改(根据您在评论中的要求):
var string = 'Body<input value="CourseName" class="emailButtonSnip" type="button"><input value="CourseDescription" class="emailButtonSnip" type="button"><input value="CourseEnrollmentDeadline" class="emailButtonSnip" type="button">';
var re = /\<input.*?\>/ig
var match;
while ((match = re.exec(string)) != null){
var input = match[0],
re1 = /value="(.*?)"/ig;
console.log(re1.exec(input)[1]);
}
产地:
CourseName
CourseDescription
CourseEnrollmentDeadline
你当然可以直接匹配原始字符串中的值,但由于我不知道你要做什么,我会留下这样的。
答案 1 :(得分:0)