JavaScript 中的正则表达式,具有多个字符搜索,如 concat
Regex in JavaScript whit multiple chars search like concat
我在 javascript 中遇到正则表达式拆分问题。
这是我要拆分的文本。虽然是德文,但是无关紧要,可以说是假的
Gesamtwirtschaft, z. B. primärer, sekundärer, tertiärer Sektor, erwerbswirtschaftliche BetriebeEinstellungsgesprächTarifverträge (z. B. Entgelttarifvertrag, Manteltarifvertrag)EntgeltfortzahlungsgesetzBGB-KündigungBetriebsvereinbarungen bzw. Personalvertretung auf Grundlage des PersonalvertretungsgesetzesKündigungsschutzgesetzWirtschaftsorganisationenArbeitnehmervertretung, BetriebsratGeltungsbereichTarifverträge (z. B. Entgelttarifvertrag, Manteltarifvertrag)IT-Weiterbildung ergänzend zur Ausbildung in den IT-BerufenSozialabgaben: Krankenversicherung, Arbeitslosenversicherung, Rentenversicherung, PflegeversicherungLohnsteuer, KirchensteuerBundeselterngeld- und ElternzeitgesetzZiele von BetriebenZiele von BetriebenRentabilitätFusionKapitalgesellschaften, z. B. GmbH, AGMärkte und PreisbildungProduktpalette und MärkteVerjährungRechtsgeschäfteUnterschiedliche Lernorte, auf regionaler EbeneMöglichkeiten und Grenzen einer Existenzgründung, BusinessplanInternationale Spezialisierung, GlobalisierungMöglichkeiten und Grenzen der sozialen Marktwirtschaft
我使用这个正则表达式:/(?<=[a-z)])(?<![Gmb])(?=[A-Z])/
如果紧跟在大写字母或右括号后面的是小写字母,则通过后视拆分它。如果大写字母后面有Gmb,则不会拆分。这是我通过拆分得到的数组:
"Array
(
[0] => Gesamtwirtschaft, z. B. primärer, sekundärer, tertiärer Sektor, erwerbswirtschaftliche Betriebe
[1] => Einstellungsgespräch
[2] => Tarifverträge (z. B. Entgelttarifvertrag, Manteltarifvertrag)
[3] => Entgeltfortzahlungsgesetz
[4] => BGB-Kündigung
[5] => Betriebsvereinbarungen bzw. Personalvertretung auf Grundlage des Personalvertretungsgesetzes
[6] => Kündigungsschutzgesetz
[7] => Wirtschaftsorganisationen
[8] => Arbeitnehmervertretung, Betriebsrat
[9] => Geltungsbereich
[10] => Tarifverträge (z. B. Entgelttarifvertrag, Manteltarifvertrag)
[11] => IT-Weiterbildung ergänzend zur Ausbildung in den IT-Berufen
[12] => Sozialabgaben: Krankenversicherung, Arbeitslosenversicherung, Rentenversicherung, Pflegeversicherung
[13] => Lohnsteuer, Kirchensteuer
[14] => Bundeselterngeld- und Elternzeitgesetz
[15] => Ziele von Betrieben
[16] => Ziele von Betrieben
[17] => Rentabilität
[18] => Fusion
[19] => Kapitalgesellschaften, z. B. GmbH, AGMärkte und Preisbildung
[20] => Produktpalette und Märkte
[21] => Verjährung
[22] => Rechtsgeschäfte
[23] => Unterschiedliche Lernorte, auf regionaler Ebene
[24] => Möglichkeiten und Grenzen einer Existenzgründung, Businessplan
[25] => Internationale Spezialisierung, Globalisierung
[26] => Möglichkeiten und Grenzen der sozialen Marktwirtschaft
)
"
所以我现在的问题是,在lookbehind 中有一个AG 之后,我如何拆分arrayitem 19。结果应该是这样的:
"Array
(
[0] => Gesamtwirtschaft, z. B. primärer, sekundärer, tertiärer Sektor, erwerbswirtschaftliche Betriebe
[1] => Einstellungsgespräch
[2] => Tarifverträge (z. B. Entgelttarifvertrag, Manteltarifvertrag)
[3] => Entgeltfortzahlungsgesetz
[4] => BGB-Kündigung
[5] => Betriebsvereinbarungen bzw. Personalvertretung auf Grundlage des Personalvertretungsgesetzes
[6] => Kündigungsschutzgesetz
[7] => Wirtschaftsorganisationen
[8] => Arbeitnehmervertretung, Betriebsrat
[9] => Geltungsbereich
[10] => Tarifverträge (z. B. Entgelttarifvertrag, Manteltarifvertrag)
[11] => IT-Weiterbildung ergänzend zur Ausbildung in den IT-Berufen
[12] => Sozialabgaben: Krankenversicherung, Arbeitslosenversicherung, Rentenversicherung, Pflegeversicherung
[13] => Lohnsteuer, Kirchensteuer
[14] => Bundeselterngeld- und Elternzeitgesetz
[15] => Ziele von Betrieben
[16] => Ziele von Betrieben
[17] => Rentabilität
[18] => Fusion
[19] => Kapitalgesellschaften, z. B. GmbH, AG
[20] => Märkte und Preisbildung
[21] => Produktpalette und Märkte
[22] => Verjährung
[23] => Rechtsgeschäfte
[24] => Unterschiedliche Lernorte, auf regionaler Ebene
[25] => Möglichkeiten und Grenzen einer Existenzgründung, Businessplan
[26] => Internationale Spezialisierung, Globalisierung
[27] => Möglichkeiten und Grenzen der sozialen Marktwirtschaft
)
"
希望我描述的一切都看得懂,希望得到解答!感谢您的宝贵时间!
您可以使用
/(?<=[\p{Ll})]|\p{Lu}(?=\p{Lu}\p{Ll}))(?<!Gmb)(?=\p{Lu})/u
参见 this regex demo。 详情:
(?<=[\p{Ll})]|\p{Lu}(?=\p{Lu}\p{Ll}))
- 在当前位置的左侧,应该有一个小写字母 )
,或者一个大写字母后跟一个大写字母然后是一个小写字母
(?<!Gmb)
- 当前位置 左边不能有Gmb
(?=\p{Lu})
- 当前位置的右边必须有一个大写字母。
确保在 JavaScript ECMAScript 2018+ 兼容正则表达式中使用启用 Unicode 类别 类 的 /u
标志。
我在 javascript 中遇到正则表达式拆分问题。 这是我要拆分的文本。虽然是德文,但是无关紧要,可以说是假的
Gesamtwirtschaft, z. B. primärer, sekundärer, tertiärer Sektor, erwerbswirtschaftliche BetriebeEinstellungsgesprächTarifverträge (z. B. Entgelttarifvertrag, Manteltarifvertrag)EntgeltfortzahlungsgesetzBGB-KündigungBetriebsvereinbarungen bzw. Personalvertretung auf Grundlage des PersonalvertretungsgesetzesKündigungsschutzgesetzWirtschaftsorganisationenArbeitnehmervertretung, BetriebsratGeltungsbereichTarifverträge (z. B. Entgelttarifvertrag, Manteltarifvertrag)IT-Weiterbildung ergänzend zur Ausbildung in den IT-BerufenSozialabgaben: Krankenversicherung, Arbeitslosenversicherung, Rentenversicherung, PflegeversicherungLohnsteuer, KirchensteuerBundeselterngeld- und ElternzeitgesetzZiele von BetriebenZiele von BetriebenRentabilitätFusionKapitalgesellschaften, z. B. GmbH, AGMärkte und PreisbildungProduktpalette und MärkteVerjährungRechtsgeschäfteUnterschiedliche Lernorte, auf regionaler EbeneMöglichkeiten und Grenzen einer Existenzgründung, BusinessplanInternationale Spezialisierung, GlobalisierungMöglichkeiten und Grenzen der sozialen Marktwirtschaft
我使用这个正则表达式:/(?<=[a-z)])(?<![Gmb])(?=[A-Z])/
如果紧跟在大写字母或右括号后面的是小写字母,则通过后视拆分它。如果大写字母后面有Gmb,则不会拆分。这是我通过拆分得到的数组:
"Array
(
[0] => Gesamtwirtschaft, z. B. primärer, sekundärer, tertiärer Sektor, erwerbswirtschaftliche Betriebe
[1] => Einstellungsgespräch
[2] => Tarifverträge (z. B. Entgelttarifvertrag, Manteltarifvertrag)
[3] => Entgeltfortzahlungsgesetz
[4] => BGB-Kündigung
[5] => Betriebsvereinbarungen bzw. Personalvertretung auf Grundlage des Personalvertretungsgesetzes
[6] => Kündigungsschutzgesetz
[7] => Wirtschaftsorganisationen
[8] => Arbeitnehmervertretung, Betriebsrat
[9] => Geltungsbereich
[10] => Tarifverträge (z. B. Entgelttarifvertrag, Manteltarifvertrag)
[11] => IT-Weiterbildung ergänzend zur Ausbildung in den IT-Berufen
[12] => Sozialabgaben: Krankenversicherung, Arbeitslosenversicherung, Rentenversicherung, Pflegeversicherung
[13] => Lohnsteuer, Kirchensteuer
[14] => Bundeselterngeld- und Elternzeitgesetz
[15] => Ziele von Betrieben
[16] => Ziele von Betrieben
[17] => Rentabilität
[18] => Fusion
[19] => Kapitalgesellschaften, z. B. GmbH, AGMärkte und Preisbildung
[20] => Produktpalette und Märkte
[21] => Verjährung
[22] => Rechtsgeschäfte
[23] => Unterschiedliche Lernorte, auf regionaler Ebene
[24] => Möglichkeiten und Grenzen einer Existenzgründung, Businessplan
[25] => Internationale Spezialisierung, Globalisierung
[26] => Möglichkeiten und Grenzen der sozialen Marktwirtschaft
)
"
所以我现在的问题是,在lookbehind 中有一个AG 之后,我如何拆分arrayitem 19。结果应该是这样的:
"Array
(
[0] => Gesamtwirtschaft, z. B. primärer, sekundärer, tertiärer Sektor, erwerbswirtschaftliche Betriebe
[1] => Einstellungsgespräch
[2] => Tarifverträge (z. B. Entgelttarifvertrag, Manteltarifvertrag)
[3] => Entgeltfortzahlungsgesetz
[4] => BGB-Kündigung
[5] => Betriebsvereinbarungen bzw. Personalvertretung auf Grundlage des Personalvertretungsgesetzes
[6] => Kündigungsschutzgesetz
[7] => Wirtschaftsorganisationen
[8] => Arbeitnehmervertretung, Betriebsrat
[9] => Geltungsbereich
[10] => Tarifverträge (z. B. Entgelttarifvertrag, Manteltarifvertrag)
[11] => IT-Weiterbildung ergänzend zur Ausbildung in den IT-Berufen
[12] => Sozialabgaben: Krankenversicherung, Arbeitslosenversicherung, Rentenversicherung, Pflegeversicherung
[13] => Lohnsteuer, Kirchensteuer
[14] => Bundeselterngeld- und Elternzeitgesetz
[15] => Ziele von Betrieben
[16] => Ziele von Betrieben
[17] => Rentabilität
[18] => Fusion
[19] => Kapitalgesellschaften, z. B. GmbH, AG
[20] => Märkte und Preisbildung
[21] => Produktpalette und Märkte
[22] => Verjährung
[23] => Rechtsgeschäfte
[24] => Unterschiedliche Lernorte, auf regionaler Ebene
[25] => Möglichkeiten und Grenzen einer Existenzgründung, Businessplan
[26] => Internationale Spezialisierung, Globalisierung
[27] => Möglichkeiten und Grenzen der sozialen Marktwirtschaft
)
"
希望我描述的一切都看得懂,希望得到解答!感谢您的宝贵时间!
您可以使用
/(?<=[\p{Ll})]|\p{Lu}(?=\p{Lu}\p{Ll}))(?<!Gmb)(?=\p{Lu})/u
参见 this regex demo。 详情:
(?<=[\p{Ll})]|\p{Lu}(?=\p{Lu}\p{Ll}))
- 在当前位置的左侧,应该有一个小写字母)
,或者一个大写字母后跟一个大写字母然后是一个小写字母(?<!Gmb)
- 当前位置 左边不能有(?=\p{Lu})
- 当前位置的右边必须有一个大写字母。
Gmb
确保在 JavaScript ECMAScript 2018+ 兼容正则表达式中使用启用 Unicode 类别 类 的 /u
标志。