# WordPartyで発火させたい文字列と発火させたくない文字列を組み合わせたい

**URL:** <https://forum.onecomme.com/t/topic/1335>\
**Category:** 質問\
**Created:** [2023 年 9 月 29 日午後 3:59 UTC](https://forum.onecomme.com/t/topic/1335 "2023-09-29T15:59:16Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![only](https://avatars.discourse-cdn.com/v4/letter/o/258eb7/32.png) [@only](https://forum.onecomme.com/u/only)\
**Post date:** [2023 年 9 月 29 日午後 3:59 UTC](https://forum.onecomme.com/t/topic/1335/1 "2023-09-29T15:59:17Z")

</div>

## 対象

WordParty

## 利用OS

Windows

## 利用バージョン: Windows、わんコメやOBSのバージョン

Windows: 10  
わんコメ： 0.0.0

## PRO版を利用

していない

## 過去ログ確認 ([検索はこちらから](https://forum.onecomme.com/search))

した

## ドキュメント確認 ([公式サイト](https://onecomme.com/docs/faq/))

した

## 内容

内容をこちらに記載してください  
スクリーンショットなど織り交ぜながら書いて頂けると助かります！

> [@WordPartyで特定のコメントの時だけ発火しないようにしたい](https://forum.onecomme.com/t/topic/1295):
>
> 対象 WordParty 利用OS Windows 利用バージョン: Windows、わんコメやOBSのバージョン Windows: 10 わんコメ：5.0.0 PRO版を利用 していない 過去ログ確認 ([検索はこちらから](https://forum.onecomme.com/search)) した ドキュメント確認 ([公式サイト](https://onecomme.com/docs/faq/)) した 内容 WordPartyで特定のコメントの時だけ発火しないようにする事はできますか？

こちらで質問させて頂き、発火させたくない文字列だけだとうまくいっていたのですが、

```auto
発火させたい文字列１
発火させたい文字列２
^(?!.*発火させたくない文字列).*$

```

とやると全部発火してしまいうまくいきません。  
なにかいい方法がありますでしょうか？

---

<div class="post-metadata">

**Author:** ![shinkunoshizuku](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.onecomme.com/shinkunoshizuku/32/913_2.png) [@shinkunoshizuku](https://forum.onecomme.com/u/shinkunoshizuku)\
**Post date:** [2023 年 9 月 29 日午後 6:29 UTC](https://forum.onecomme.com/t/topic/1335/2 "2023-09-29T18:29:33Z")

</div>

こんな形の記載だと、うまく動くでしょうか？

```auto
^(?=(発火させたい文字列１|発火させたい文字列２)).*(?!.*発火させたくない文字列).*$

```

これも正規表現のため、文字列の増やし方は以前のトピックと同じような形となります。

* * *

あとは、PRO版利用されていないとのことですので検討は必要になるかと存じますが、[FANBOXでわん500以上の支援](https://one-comme.fanbox.cc)もしくは[YouTubeのメンバーシップへの加入](https://www.youtube.com/@astie/join)から、文字列を入れるだけのパターン一致で「発火するもの」と「発火させないもの」それぞれの入力欄実装を、わんコメへの「 **要望** 」として出すのも一つの手かもしれません。  
（確実な実装をお約束するものではありません）

---

<div class="post-metadata">

**Author:** ![only](https://avatars.discourse-cdn.com/v4/letter/o/258eb7/32.png) [@only](https://forum.onecomme.com/u/only)\
**Post date:** [2023 年 10 月 1 日午前 10:18 UTC](https://forum.onecomme.com/t/topic/1335/3 "2023-10-01T10:18:48Z")

</div>

ありがとうございます。

発火させたい文字列と発火させたくない文字列の間になにか文字を入れるとできるようになりました。

例えば

発火させたい文字列＝こんにちは  
発火させたくない文字列＝こんばんは

の場合、こんにちは/こんばんはと中になにか入れるとうまく発火がコントロールできますが、  
こんにちはこんばんはと連続した文字だと発火がコントロールできない様です。

---

<div class="post-metadata">

**Author:** ![shinkunoshizuku](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.onecomme.com/shinkunoshizuku/32/913_2.png) [@shinkunoshizuku](https://forum.onecomme.com/u/shinkunoshizuku)\
**Post date:** [2023 年 10 月 1 日午後 9:03 UTC](https://forum.onecomme.com/t/topic/1335/4 "2023-10-01T21:03:43Z")

</div>

記述が面倒にはなりますが、こんな感じではうまく動くでしょうか。

```auto
^(?=.*発火させたい文字列$).(?!発火させたくない文字列).(?!.*発火させたくない文字列$).+$

```

* * *

「こんにちは」と「こんばんは」で使う例ならばこんな感じ。

```auto
^(?=.*こんにちは$).(?!こんばんは).(?!.*こんばんは$).+$

```

もうちょっとスマートな書き方もあるような気はしますが、一応動きそうな気はします 😅

---

<div class="post-metadata">

**Author:** ![only](https://avatars.discourse-cdn.com/v4/letter/o/258eb7/32.png) [@only](https://forum.onecomme.com/u/only)\
**Post date:** [2023 年 10 月 2 日午前 3:21 UTC](https://forum.onecomme.com/t/topic/1335/5 "2023-10-02T03:21:46Z")

</div>

すみません。勘違いしていました。

> [@shinkunoshizuku](#):
>
> `^(?=(発火させたい文字列１|発火させたい文字列２)).*(?!.*発火させたくない文字列).*$`

まずこちらで

> [@only](#):
>
> 発火させたい文字列＝こんにちは  
> 発火させたくない文字列＝こんばんは

この場合、

「こんにちは/こんばんは」だと発火をコントロールできず、逆の「こんばんは/こんにちは」だと発火をコントロールできます。

> [@shinkunoshizuku](#):
>
> `^(?=.*こんにちは$).(?!こんばんは).(?!.*こんばんは$).+$`

この場合だと「こんにちはこんばんは」だと発火をコントロールできますが、逆の「こんばんはこんにちは」だと発火をコントロールできません。

どちらの文字でも発火をコントロールできる方法はありますでしょうか？

---

<div class="post-metadata">

**Author:** ![shinkunoshizuku](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.onecomme.com/shinkunoshizuku/32/913_2.png) [@shinkunoshizuku](https://forum.onecomme.com/u/shinkunoshizuku)\
**Post date:** [2023 年 10 月 2 日午前 11:59 UTC](https://forum.onecomme.com/t/topic/1335/6 "2023-10-02T11:59:53Z")

</div>

お試しいただきありがとうございます。

それでは、このような形ではいかがでしょう。

```auto
^(?=.*発火させたい文字列)(?!.*発火させたくない文字列).*$

```

* * *

「こんにちは」と「こんばんは」の例ではこのような形。

```auto
^(?=.*こんにちは)(?!.*こんばんは).*$

```

グッとシンプルになりましたが、動いているような気が……たぶん 😅

おかしなところがありましたら、お知らせいただければと思います。

---

<div class="post-metadata">

**Author:** ![only](https://avatars.discourse-cdn.com/v4/letter/o/258eb7/32.png) [@only](https://forum.onecomme.com/u/only)\
**Post date:** [2023 年 10 月 3 日午前 11:20 UTC](https://forum.onecomme.com/t/topic/1335/7 "2023-10-03T11:20:53Z")

</div>

ありがとうございます。

> [@shinkunoshizuku](#):
>
> `^(?=.*こんにちは)(?!.*こんばんは).*$`

試してみました。

```auto
こんにちは＝発火
こんばんは＝発火しない
こんにちはこんばんは＝発火しない
こんばんはこんにちは＝発火しない
こんにちは/こんばんは＝発火しない
こんばんは/こんにちは＝発火しない

```

以上になりました。

---

<div class="post-metadata">

**Author:** ![shinkunoshizuku](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.onecomme.com/shinkunoshizuku/32/913_2.png) [@shinkunoshizuku](https://forum.onecomme.com/u/shinkunoshizuku)\
**Post date:** [2023 年 10 月 3 日午後 2:20 UTC](https://forum.onecomme.com/t/topic/1335/8 "2023-10-03T14:20:38Z")

</div>

今回もお試しいただきありがとうございます。

* * *

> [@only](#):
>
> ```auto
> こんにちは＝発火
> こんばんは＝発火しない
> こんにちはこんばんは＝発火しない
> こんばんはこんにちは＝発火しない
> こんにちは/こんばんは＝発火しない
> こんばんは/こんにちは＝発火しない
> 
> ```

意図していたコントロールの状況としては、例に挙げているケースでは

「こんにちは」が入っていたら **発火する**  
「こんばんは」は **発火しない**  
「こんにちは」が入っていようとも「こんばんは」が入っていたら **発火しない**

というような形で意図したとおりでしたでしょうか？ 🤔

---

<div class="post-metadata">

**Author:** ![only](https://avatars.discourse-cdn.com/v4/letter/o/258eb7/32.png) [@only](https://forum.onecomme.com/u/only)\
**Post date:** [2023 年 10 月 4 日午後 4:19 UTC](https://forum.onecomme.com/t/topic/1335/9 "2023-10-04T16:19:48Z")

</div>

はい、何回もテスターで試したところ自分がしたいようにできたと思います。

ありがとうございました！！

---

<div class="post-metadata">

**Author:** ![shinkunoshizuku](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.onecomme.com/shinkunoshizuku/32/913_2.png) [@shinkunoshizuku](https://forum.onecomme.com/u/shinkunoshizuku)\
**Post date:** [2023 年 10 月 5 日午前 4:51 UTC](https://forum.onecomme.com/t/topic/1335/10 "2023-10-05T04:51:40Z")

</div>


