簡體   English   中英

從子字符串正則表達式中提取Javascript

[英]Javascript Extract from substring regex

我對Regex沒有任何經驗。 如何從類似下面的字符串中提取FieldInternalName的值? 只需要沒有引號的值。

var idString = '<!--  FieldName="App" FieldInternalName="Application" FieldType="SPFieldLookup" -->';

這樣的事情對你有用嗎?

var idString = '<!--  FieldName="App" FieldInternalName="Application" FieldType="SPFieldLookup" -->';
var fieldInternalName = idString.match(/FieldInternalName="(.*?)"/i)[1];
alert(fieldInternalName);

設置一個簡單的表達式來“捕獲” FieldInternalName的內容非常容易:

<!--.*?\bFieldInternalName="([^"]+)".*?-->

演示版


該表達式通過查找以下內容起作用:

  • <!--
  • 0個以上的字符( .*?
  • FieldInternalName=" (以單詞邊界\\b開頭,這樣您就不會匹配FakeFieldInternalName="
  • 1+非"字符( [^"]+
  • "
  • 0個以上的字符( .*?
  • -->

使用RegExp.prototype.exec() ,我們可以提取此匹配項的內容:

 var idRegex = /<!--.*?\\bFieldInternalName="([^"]+)".*?-->/, idString = '<!-- FieldName="App" FieldInternalName="Application" FieldType="SPFieldLookup" -->'; var matches = idRegex.exec(idString); console.log(matches[1]); 
 <script src="https://getfirebug.com/firebug-lite-debug.js"></script> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM