Java 和 javascript 中的正则表达式
Regular Expression in java and javascript
我有一个用Java构建的正则表达式。
String expr = "<a.*?id='"(pres.*?)'".*?>Discharge.*?Medications:</a>";
我想在Javascript中使用相同的正则表达式。会有所不同还是相同?
我建议你不要这样做。
为什么?我只想指出StackOverflow上最受好评的答案之一:https://stackoverflow.com/a/1732454/851498
在javascript中,你最好使用DOM而不是正则表达式来解析HTML。
例:
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
会是一样的。 所有主流的正则表达式引擎都支持相同的正则表达式基本语法。 有些人在上面添加了自己的功能,但您的示例并没有做任何古怪的事情。
相关文章:
- java.net和javascript之间正则表达式的差异
- Grunt匹配正则表达式
- 不同浏览器中的空白字符正则表达式行为
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 调用正则表达式匹配的函数
- 使用正则表达式评估电子邮件地址时出现性能问题
- Javascript 正则表达式 : ^[^/s/]+[a-z]{1,}[0-9]*[-_]*[^/][
- JavaScript正则表达式文本与RegExp对象
- 正则表达式只允许 x 个整数
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 改进用于验证付款金额的正则表达式
- 正则表达式与数字中的第二个点匹配
- 键按正则表达式以查找具有负值的小数
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 将po-box javascript正则表达式转换为c#regex
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 使用正则表达式捕获“”并分割成阵列
- 将这些正则表达式从javascript转换为Java
- 用于验证JS中逻辑运算符表达式的正则表达式