Question: I am trying to catch strings around the acronym ADJ. The strings look like this:

```
·NOM·JJ·ADJ+CASE_DEF_GEN
·NOM·JJ·ADJ+CASE_DEF_ACC
·NOM·JJ·ADJ+CASE_INDEF_GEN
·NOM·DT+JJ·DET+ADJ+NSUFF_FEM_SG+CASE_DEF_GEN
·NOM·JJ·ADJ+CASE_INDEF_GEN
·NOM·JJ·ADJ+NSUFF_FEM_SG+CASE_INDEF_GEN
·NOM·DT+JJ·DET+ADJ+NSUFF_FEM_SG+CASE_DEF_ACC

```

So far I have this:
`/[A-Z·\+#_]*?[·\+]ADJ[·\+][A-Z_·\+#]*?/g`

But it only matches from the beginning of the strings until "ADJ+" `·NOM·DT+JJ·DET+ADJ+`. 

Since the rest of the strings after ADJ have the same composition of the beginning of the strings before ADJ, I thought this `/[A-Z·\+#_]*?[·\+]/g` should work, but it doesn't.
How do I get it to match the rest of the string?

Answer: 
My guess is that you want to make sure if you have an `ADJ` in the string, which if so, maybe we could simplify our expression to something similar to:

```
([A-Z·+#_]*)\bADJ\b([A-Z·+#_]*)

```

The expression is explained on the top right panel of [this demo](https://regex101.com/r/dT1FsF/1/), if you wish to explore/simplify/modify it, and in [this link](https://regex101.com/r/dT1FsF/1/debugger), you can watch how it would match against some sample inputs step by step, if you like.
Removing the `?` at the end would match the whole strings, 

```
/[A-Z·\+#_]*?[·\+]ADJ[·\+][A-Z_·\+#]*/g

```

I am not entirely sure why you needed a `?` in a `*`.