[英]Match a regular expression, then remove a subset of that regular expression
我正在使用javascript解析一些字符串。
我有一些看起來像這樣的字符串:
1234 1/2 Old Town Alexandria
我寫了一個正則表達式來標識實例,其中實例在街道號之后:
var addressFractionRegex = /^\d*\s+(1[/]\d)\s+/i;
我想做的是僅在整個正則表達式都匹配的情況下才從源字符串中刪除正則表達式的小數部分(即:小數前面帶有街道編號)。 在這種情況下,我最終將(刪除“ 1/2”):
1234 Old Town Alexandria
我還想將刪除的部分保存到另一個變量中。 因此,理想情況下,我最終會得到以下結果:
var street_address = '1234 Old Town Alexandria';
var fraction = '1/2';
如何在javascript中完成?
謝謝!
replace
函數接受一個替換字符串。 您可以將要保留的所有內容歸為一組,並忽略要取出的任何內容。 在這里,我們保留子模式1和3,並保留存儲在2中的分數。
var addressFractionRegex = /^(\d*\s+)(1[/]\d)(\s+)/i;
var data = '123 1/5 abc';
alert(data.replace(addressFractionRegex, '$1$3'));
您只能捕獲要保留的位:
"1234 1/2 Old Town Alexandria".replace(/^(\d*\s+)1\/\d\s/, '$1');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.