我对Regex没有任何经验。如何从下面的字符串中提取FieldInternalName的值?只需要没有引号的值。
var idString = '<!-- FieldName="App" FieldInternalName="Application" FieldType="SPFieldLookup" -->';
答案 0 :(得分:2)
对你来说这会是什么工作?
var idString = '<!-- FieldName="App" FieldInternalName="Application" FieldType="SPFieldLookup" -->';
var fieldInternalName = idString.match(/FieldInternalName="(.*?)"/i)[1];
alert(fieldInternalName);
答案 1 :(得分:0)
很容易设置一个简单的表达式来捕获&#34; FieldInternalName
的内容:
<!--.*?\bFieldInternalName="([^"]+)".*?-->
此表达式的工作原理是:
<!--
.*?
)FieldInternalName="
(前面有单词边界\b
,因此您不会匹配FakeFieldInternalName="
)"
字符([^"]+
)"
.*?
)-->
使用RegExp.prototype.exec()
,我们可以提取此匹配的内容:
var idRegex = /<!--.*?\bFieldInternalName="([^"]+)".*?-->/,
idString = '<!-- FieldName="App" FieldInternalName="Application" FieldType="SPFieldLookup" -->';
var matches = idRegex.exec(idString);
console.log(matches[1]);
&#13;
<script src="https://getfirebug.com/firebug-lite-debug.js"></script>
&#13;