-1

这是我从数据库中得到的字符串

var str=" The requirements of this chapter apply to the following:(1) New 
buildings or portions thereof used as health care occupancies (see 1.4.1)(2) 
Additions made to, or usedas, a health care occupancy (see 4.6.6 and 18.1.1.4)(2)
and test.Exception: Exception no 1  The requirement of 18.1.1.1.1 shall not apply
to additions classified as occupancies other than health care that are separated
from the health care occupancy in accordance with 18.1.2.1(2) and conform to the
requirements for the specific occupancy in accordance with Chapters 12 through 17
and Chapters 20 through 42, as appropriate.(3) Alterations, modernizations, or  
renovations of existing health care occupancies (see 4.6.7 and 18.1.1.4)(1)(4)
Existing buildings or portions thereof upon change of occupancy to a health care 
occupancy (see 4.6.11)Exception *: Facilities where the authority having 
jurisdiction has determined equivalent safety has been provided in accordance 
with Section 1.5."

我使用了以下条件

str = str.replace(/(\s\(\d+\)|exception\s*\:*)/gi, "<br /><br />$1&nbsp"); 

我从中得到:

The requirements of this chapter apply to the following:

(1) New buildings or portions thereof used as health care occupancies (see 1.4.1)

(2) Additions made to, or usedas, a health care occupancy (see 4.6.6 and 18.1.1.4)

(2) and test.

Exception: 

Exception no 1  The requirement of 18.1.1.1.1 shall not apply to additions classified as occupancies other than health care that are separated from the health care occupancy in accordance with 18.1.2.1(2) and conform to the requirements for the specific occupancy in accordance with Chapters 12 through 17 and Chapters 20 through 42, as appropriate.

(3) Alterations, modernizations, or renovations of existing health care occupancies (see 4.6.7 and 18.1.1.4)

(1)

(4) Existing buildings or portions thereof upon change of occupancy to a health care occupancy (see 4.6.11)

Exception *: Facilities where the authority having jurisdiction has determined equivalent safety has been provided in accordance with Section 1.5.

但我想要的输出是

The requirements of this chapter apply to the following:

(1) New buildings or portions thereof used as health care occupancies (see 1.4.1)

(2) Additions made to, or usedas, a health care occupancy (see 4.6.6 and 18.1.1.4)(2) and test.

Exception: Exception no 1  The requirement of 18.1.1.1.1 shall not apply to additions classified as occupancies other than health care that are separated from the health care occupancy in accordance with 18.1.2.1(2) and conform to the requirements for the specific occupancy in accordance with Chapters 12 through 17 and Chapters 20 through 42, as appropriate.

(3) Alterations, modernizations, or renovations of existing health care occupancies (see 4.6.7 and 18.1.1.4)(1)

(4) Existing buildings or portions thereof upon change of occupancy to a health care occupancy (see 4.6.11)

Exception *: Facilities where the authority having jurisdiction has determined equivalent safety has been provided in accordance with Section 1.5.

提前致谢..

4

1 回答 1

0

在正则表达式中“计数”已经很困难,但是你所要求的不能用一个来完成。正则表达式对之前捕获的内容没有任何记忆,因此在第二个的情况下(2),您将没有任何工具可以知道它已经被匹配。

现在,这里出现了一个有趣的替换功能工具。你可以指定一个回调函数,而不是在这里你可以做一些检查。回调参数将是:
1)整个匹配的字符串
2)捕获组(所以 0 到 n 个参数)
3)匹配的位置
4)初始字符串

所以基本上,您可以捕获您看到的数字,如果您已经看到它们,什么也不做(返回相同的字符串,即 arguments[0]),以及其他可以帮助您的事情......

于 2013-04-10T14:43:35.540 回答