now*_*ed. 7 html javascript regex
我的字符串是:
<div> (blah blah blah) ---> quite big HTML before coming to this line.<b>Train No. & Name : </b></td><td style="border-bottom:1px solid #ccc;font:12px arial"><span>12672 / SOUTH TRUNK EXP</span></td>
Run Code Online (Sandbox Code Playgroud)
我设法制定了一个正则表达式
var trainDetails = new RegExp("<b>Train No. & Name : </b></td><td.*>([0-9][a-z][A-Z]+)</span></td>", "m");
Run Code Online (Sandbox Code Playgroud)
但是trainDetails为null或为空.
我所要做的就是在span元素中获取列车名称和列车编号.
我做错了什么指针?
它对我有用:
使用正则表达式
string = '<div> (blah blah blah) ---> quite big HTML before coming to this line.<b>Train No. & Name : </b></td><td style="border-bottom:1px solid #ccc;font:12px arial"><span>12672 / SOUTH TRUNK EXP</span></td>';
var trainDetail = string.replace( new RegExp(".*?([^\>]+)(?:\<\/[A-z]+\>)+$","g"), '$1');
Run Code Online (Sandbox Code Playgroud)
使用 DOM
string = ('<b>Train No. & Name : </b></td><td style="border-bottom:1px solid #ccc;font:12px arial"><span>12672 / SOUTH TRUNK EXP</span></td>');
string = string.replace(new RegExp( '(<\/?)td', 'g'), '$1xmltd');
tempDoc = document.createElement('xml');
tempDoc.innerHTML = string;
node = tempDoc.getElementsByTagName('xmltd');
trainDetails = node[node.length-1].textContent;
Run Code Online (Sandbox Code Playgroud)
假设字符串中最后一个“<td>”具有列车详细信息。