升级到 bootstrap 3 时处理 btn class 变化的正则表达式
Regular expression for handling btn class changes while upgrading to bootstrap 3
我正在将大型应用程序从 bootstrap v2 迁移到 bootstrap 3.I 我正在使用 Notepad++ 进行搜索,使用正则表达式搜索要替换的旧 class 名称。在 bootstrap 3 中,btn class 使用没有任何其他内置 btn 样式,即 btn-pimary、btn-success、btn-info、btn-warning、btn-danger、btn-link 应该改为 btn btn-default.
所以我需要一个正则表达式模式来查找这些行中出现的 btn
<button class="btn btn-mini" />
<button class="btn btn-small" />
<button class="btn btn-large"/>
<button class="btn"/>
<button class="btn "/>
<button class=" btn"/>
但在
中没有找到 btn
<button class="btn btn-mini btn-primary" />
<button class="btn btn-small btn-success" />
<button class="btn btn-large btn-info"/>
<button class="btn btn-error"/>
我有 (?<=["'\s])btn(?=["'\s]) 这个正则表达式,但它会搜索所有 btns,包括 btn-primary、btn-success 等。如何修改它,使其在没有 btn-primary、btn-success 等的情况下使用时仅匹配 btn。
试试这个:
(?<=class=")\s?btn\s?(btn-)?(mini|small|large)?\s?(?=")
演示:https://regex101.com/r/VhwAym/2
仅捕获 btn:
(?<=class=")\s?btn(?=\s?(?:btn-)?(?:mini|small|large)?\s?")
您甚至不需要环顾四周 - 使用模式
只需一些简单的交替就足够了
"\s*btn\s*(?:btn-(?:mini|small|large))?\s*"
我正在将大型应用程序从 bootstrap v2 迁移到 bootstrap 3.I 我正在使用 Notepad++ 进行搜索,使用正则表达式搜索要替换的旧 class 名称。在 bootstrap 3 中,btn class 使用没有任何其他内置 btn 样式,即 btn-pimary、btn-success、btn-info、btn-warning、btn-danger、btn-link 应该改为 btn btn-default.
所以我需要一个正则表达式模式来查找这些行中出现的 btn
<button class="btn btn-mini" />
<button class="btn btn-small" />
<button class="btn btn-large"/>
<button class="btn"/>
<button class="btn "/>
<button class=" btn"/>
但在
中没有找到 btn<button class="btn btn-mini btn-primary" />
<button class="btn btn-small btn-success" />
<button class="btn btn-large btn-info"/>
<button class="btn btn-error"/>
我有 (?<=["'\s])btn(?=["'\s]) 这个正则表达式,但它会搜索所有 btns,包括 btn-primary、btn-success 等。如何修改它,使其在没有 btn-primary、btn-success 等的情况下使用时仅匹配 btn。
试试这个:
(?<=class=")\s?btn\s?(btn-)?(mini|small|large)?\s?(?=")
演示:https://regex101.com/r/VhwAym/2
仅捕获 btn:
(?<=class=")\s?btn(?=\s?(?:btn-)?(?:mini|small|large)?\s?")
您甚至不需要环顾四周 - 使用模式
只需一些简单的交替就足够了"\s*btn\s*(?:btn-(?:mini|small|large))?\s*"