[英]Regular Expression in java and javascript
我有一個用Java構建的正則表達式。
String expr = "<a.*?id=\"(pres.*?)\".*?>Discharge.*?Medications:</a>";
我想在Javascript中使用相同的正則表達式。 是不同還是相同?
我建議你不要這樣做。
為什么? 我將為您指出StackOverflow上最受好評的答案之一: https ://stackoverflow.com/a/1732454/851498
在javascript中,與使用正則表達式解析HTML相比,最好使用DOM。
例:
var a = document.querySelectorAll('a');
for ( var i = 0, len = a.length; i < len; i++ ) {
// If the id starts with "pres"
if ( a[ i ].id.substr( 0, 3 ) === 'pres' ) {
// check a[ i ].textContent
}
}
或者,如果您使用的是jQuery:
$('a').each( function() {
if ( this.id.substr( 0, 3 ) === 'pres' ) {
// check $( this ).text()
}
} );
我沒有編寫最后一部分,但是您明白了。 在$( this ).text()
上使用正則表達式會很好,它不是HTML。
沒有太大的不同。 JavaScript中的正則表達式介於/
之間。 所以它看起來像這樣:
var expr = /<a.*?id=\"(pres.*?)\".*?>Discharge.*?Medications:</a>/;
編輯,斜杠錯誤。 哎呀。
或者,您可以執行以下操作:
var expr = new RegExp("<a.*?id=\"(pres.*?)\".*?>Discharge.*?Medications:</a>");
有關JavaScript中的RegExp的更多詳細信息,請參見MDN文檔: https : //developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions
會是一樣的。 所有主流的正則表達式引擎都對正則表達式支持相同的基本語法。 有些人在頂部添加了自己的功能,但是您的示例並沒有做任何奇怪的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.