Question: I am trying to search backwards (using `?`) for the beginning of a "word".

I don't mean a word in the text object sense; I mean a series of lower-case letters optionally beginning with a capital letter. The optional capital letter is stymying me.

Here are some examples showing where I want to jump to, assuming the cursor starts at the end of the line:

```
quick brown fox
^     ^     ^

QuickBrownFox
^    ^    ^

Quick Brown Fox
^     ^     ^

quick_brown_fox
^     ^     ^

```

The closest I've come up with is `?\(\U\u\)\|\L?e+` – but that doesn't work with the capital letters. I assume this is because \L matches before \U\u does.

How can I solve this?

Answer: 
This simple search works for all the examples you gave:

```
?\a\l\+

```

It matches any alphabetic character (upper or lower case), followed by any non-zero number of lower case characters.

Some examples of cases you didn't mention where I'm a little unclear what you want it to do:

```
match a lower case
MatchACapital

```

If you want it to match the single letter word a/A in both of these, then use a `*` instead of the `\+`:

```
?\a\l*

```
Although ugly this does what you need. At least in your example.
I think it could be simplified, but wouldn't bother to do so.
`\(\<\|\([a-z0-9]\?\(\( \|_\)\zs\|\zs\u\)\)\)`

With `very magic` `\v(<|([a-z0-9]?(( |_)\zs|\zs\u)))`