Apply GREP style to part of the expression

How do you apply a GREP style to only part of an expression... for example if I wanted to only apply styles to numbers followed by a letter "m".
m\d+
This will format both the m and the numbers... how do I get it to target parts of the expression?

You have to use a positive lookahead…
It must be \d+(?=m)

Similar Messages

  • Apply grep style only once

    I can't get my brain around what is probably a very simple problem: I want a paragraph style that applies boldfacing to any character up to an including the first colon in a paragraph. If I used  a nested style "through 1 :" the whole graf is bold if there is no colon. So that's out.
    A grep style ".+: " seems to work in most cases, but if there's a second colon, the boldfacing is extended to that point. What I think I want is a grep style that works "zero or 1 times" but I cannot figure out how to use the ? to make that happen.

    @Jongware – I think Robert wants to limit the GREP style to the first line of a paragraph.
    But unfortunately GREP in InDesign does not know about line endings.
    In scripting we could do something like what he wants, but comes with some obstacles, because the GREP will apply a character style, that will probably change the line ending. A very dynamic situation…
    Example 1
    Basic situation:
    This is my text here comes the colon: and
    here another one: that Robert don't like
    to take into account using the GREP style.
    Formatted after  the GREP style is applied:
    This is my text here comes the colon: and
    here another one: that Robert don't like
    to take into account using the GREP style.
    As I understand it, in case that the first colon will leave line one, only the first line should be formatted like this:
    (Case 1)
    This is my text here comes the first
    colon: and here another one: that
    Robert don't like to take into account
    using the GREP style.
    Or should it be, that the style should only be applied, if it's in the first line?
    (Case 2):
    This is my text here comes the first
    colon: and here another one: that
    Robert don't like to take into account
    using the GREP style.
    But what, if the colon in the basic case is at the end of line 1 and will be shifted to line 2 after formatting?
    What should happen then?
    That is simply not possible to format automatically (dynamically) using GREP styles in InDesign.
    Uwe

  • How to apply different styles to Portlets on the same Portal page?

    How do you apply different styles to Portlets on the same Portal page?
    I'm new to this kind of thing, but understand that something called "cascading style sheets" can help here?
    What are these, how do you use them, and can you make different Portlets (all types - PL/SQL, Java, Applications, etc) on the same Portal page have different styles assigned?
    Thanks!

    Jeff,
    Apply Oracle Portal styles at the region level. Your portlets within each region will inherit the style defined for the region.
    You may want to check out Report #40050 at portalcenter.oracle.com, "Design an Attractive and Compelling Portal Interface" for a good overview of the various design features of Oracle Portal.
    Here is the link:
    http://portalcenter.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/OTN_CONTENT/MAINPAGE/OWSF_2003_PAPERS/40050_STOVER.PDF
    Regards,
    Jay

  • GREP style as part of paragraph style

    I'm wanting to create a GREP style that uses a character style. Whenever certain words (No class) appear followed by dates. Sometimes it is a single date and sometimes more than one date. For example:
    No class 7/11.
    No class 7/11-8/11.
    What I have so far is:
    No class \d+.
    This works okay through the words "No class" and the first digit, but not for the whole sentence. I've tried different combinations but nothing that works correctly.
    Can anyone help?

    Peter,
    I so much appreciate your help with this. Your explanation makes it understandable. But there is still a mystery.
    The GREP for Instructor: Instructor Name works fine. The GREP for the date sentence is not working. Instead of the date sentence becoming italic, it  matches the first part of the paragraph. This is what the GREP looks like:
    This is what the paragraph looks like with the GREP applied:
    It should look like this:
    In a separate issue in another paragraph, which is a heading paragraph, I have a similar situation. The headings are bold, some headings list ages, and some list ages AND whether parental participation is required. I thought I could extrapolate from the information you've given me to fix this paragraph as well. I've tried different combinations, but so far haven't gotten it to work. The paragraph looks like this:
    But it needs to look like this (bold paragraph with ages in regular,and parent requirement in italic):
    The heading doesn't always have an age requirement, and doesn't always require parental participation.
    The catalog is quite long, so if there is a way to fix these two types of paragraphs, it would save a ton of time.

  • Can somebody please help me creating a GREP style to reformat all the website adresses in my layout?

    i've got this text from a client full with webadresses, some end with .com or .nl and i would like to highlight these adressess in bold and blue... i created a textstyle for it but the only thing i manage to get as a result is only the beginning of the website 'www.' i know it's possible but my skills are lacking in this departement...
    can anyone help me getting started...?

    Got it.
    parentheses group #1 (the first | separated OR group): DOS path name, because a link can also refer to a file.
    parentheses groups #2-5 (2nd OR group): e-mail address. Note: a "mailto://" prefix does not get matched here.
    parentheses groups #6-13 (3rd OR group): URL, with a mandatory prefix "http://", "https://", "ftp://", and some more ("smb://", for example, is a Samba server file prefix). This also includes "ftps://", which was unknown to me but it appears it's perfectly valid.
    It does not match the "mailto://" prefix for an e-mail address, but that's a moot point because the URL may not contain a @ character anyway.
    This group correctly recognizes URLs that contain one or more hyphens in the base name (it also correctly rejects hyphens in the domain extension).
    parentheses groups #14-15: (4th and last OR group): any non-prefixed URL, recognized solely on the basis of "any sequence of word characters, including the hyphen, followed by a period, optionally followed by some more characters (including both period and forward slash but excluding the hyphen), followed by at least two uppercase or lowercase letters.
    This last one is responsible for (a) recognizing both "deadline.com" and "keefe-studios.com" as URLs, but (b) also rejecting "www.test-test.com" -- a hyphen in the 'center', fully optional, part.
    Interestingly, there are more differences between the more exact 'match only with prefix' and the catch-all 'match about anything'. The former includes among the allowed characters: ':' (which, if I recall correctly, is only valid if a port number follows!), '#', '$', '%', '&', '?' and '+', so it matches a server query as well:
    http://www.google.com/search?hl=enl&tbo=d&site=&source=hp&q=allowed+characters+in+url&oq=a llowed+characters+in+url
    The latter does not include all of these characters, just letters, numbers, the hyphen (but not in all positions), and a period. It's probably because this is an unreliable way to match URLs after all -- hence the number of 'false hits'. These would only increase with even more allowed characters.
    Lesson learned: to be assured "Create Hyperlinks Automatically" works as expected, make sure URLs are prefixed with "http://", and mail addresses are not prefixed with "mailto://". I didn't test if the function actually creates a correct e-mail link, but even if it does the prefix is not included in the clickable linked text.
    (Also interestingly, it appears a GREP style, fed with this same query, doesn't stumble over the hyphen whereas a GREP find does. I don't think I'm capable of figuring that one out.)

  • Re: Final Cut Express. I have an old 8mm film converted to avi. Some is good, some is too dark. Can I apply brightness to only parts of the clip? David

    I have an old 8mm film converted to avi. Some of it is good, some is dark. Can I brighten parts of this clip or must I split it into multiple clips first?

    forgot to mention MPEGStreamclip:
    http://www.squared5.com/svideo/mpeg-streamclip-mac.html

  • Apply effect to selected part of the movie

    Hi, I'm working in a movie and I would like to select just a bit (for instance, one minute) and apply and effect to this one-minute part.
    How can I do it?
    Thanks very much in advance for your answer

    Hi, thanks for your answer. I think I do as you say.
    I mark the I and O points. It is highlighted. I dropped the effect on the timeline or on the clip but it affects to all the movie.
    I can not see any way to apply it only to the highlighted section. Maybe I'm doing something wrong??? or did I miss anything????
    Thanks again. Looking forward to your answer

  • Applying a style the nth line of any paragraph using GREP

    Hi,
    I'm attempting to apply a character style to the third line of a paragraph that is broken with forced line breaks.
    By doing a GREP search I can find the first two lines by using the following string:
    .*\n.*\n
    So, I reasoned that by I'd be able to find the following line by using a positive lookbehind, but no dice. . .
    It doesn't work.
    Does anyone have any ideas?
    Thanks,
    Chris

    You don't need GREP for this if you are using CS4 or later.  Instead create a nested line style as part of the paragraph style definition (it's under Drop Caps and Nested Styles). Set none through n-1 lines, then your style through as many lines as you like.

  • IDCS5/MAC - GREP Style to uppercase a letter after a dash between words

    G'day there.
    I'm trying to create a GREP style to uppercase a letter after a dash between words, more specifically where one word starts with a capital and the one after a dash does not e.g. Lorem-ipsum = Lorem-Ipsum
    The full story is that there is a standing indesign file used over and over again which data-merges surnames which are in a massive database. The data arrives in uppercase and our mail barcoding software allows us to Title Case certain fields, but the Title Case behaviour has the following results:
    * McLeod = Mcleod
    * D'Agostino = D'agostino
    * Smith-Bunting = Smith-bunting
    i've been able to solve the McLeod = Mcleod problem with the following GREP style:
    (?<=Mc)\l
    and then apply a character style which is nothing more than All Caps.
    similarly, i've been able to solve the D'Agostino = D'agostino problem:
    (?<=\u')\l
    and once again apply the All Caps style to the affected letter. This also solves the O'leary problem to O'Leary.
    However, when I try these GREPs to grab the Smith-bunting style issues:
    (?<=\u\l+?-)\l     or   (?<=\u\l{2,}-)\l
    the search won't work, nor will it work with regular Find/Change GREP replace... yet the expression \u\l+?-\l will find the block that i'm after.
    I could use the search
    (?<=\l-)\l
    and this will find Smith-bunting = Smith-Bunting... but will also find co-operate = co-Operate (will find two words joined with a dash but  starts with a lower case letter).
    This is fine if the para style is applied to the  line in the address block containing the client's name, but if the name is referred to in a block of text, then that block of text has to have the para style with the GREP style applied, and any dashes between words in that para behave the same way as the name.
    yes, it is possible to go into excel and use the =PROPER(affected cell) and fix the Smith-Bunting fields, but i'm trying to create a solution which will work solely in InDesign so that other operators in the office (who aren't familiar with excel) can simply open the standing file and dump in the txt database generated by the mail barcoding software.
    there are other names that the mail barcoding's title-case fouls up i.e.
    * MacLeod = Macleod
    * van der Graaf = Van Der Graaf
    * van Diemen = Van Diemen
    but a GREP to make Macleod become MacLeod may foul up Mack, Mackie or Macy to become MacK, MacKie or MacY.
    I also know that a GREP for the van der or van won't work as the style will only force letters to become All Caps, not uppercase to lower...
    Ultimately...
    does anyone know a way to GREP style (not a find/change GREP) a fix for Xxxxx-xxxxx = Xxxxx-Xxxxx?
    Colly
    Colecandoo.

    I agree with Haakenlid on his Dirty-Workaround view -- I feel data should be entered the way it oguht to, not altered by some magic GREP styling -- but then again I can also sympathize with your POV re: a fire-and-forget solution even your dumbest operator can't miss.
    Oh the rigors of life.
    If you are totally, absolutely certain you want to do this by GREP, use this:
    (a) Set a To Capitals character style to the string
    \b\u\l+\-\l
    -- this will magically transform "Hon. Lt. Sir John Forsythe Blunt-object" into "BLUNT-Object".
    (b) Then override ( ! ) the first half again with another character style that removes the To Capitals attribute ( ! ):
    \b\u\l+-(?=\l)
    Notice how this expression is exactly the same as the above one, except for the very last code -- the next lowercase must also be caught, but now using a lookahead so its formatting won't be affected.
    This removes the All Caps override from the first halve, changing it from "BLUNT-Object" back to "Blunt-Object".
    Lots of side effects, I'm sure. Perhaps it is safer to teach your operators to run a single script.

  • How to apply multiple styles for nested tags in XML?

    Say you import this XML into InDesign:
    <Root>
      <strong>
        <em>Bolded and Italicized</em>
      </strong>
    </Root>
    And you have two character styles, bold and italics, to map to strong and em tags respectively.
    You will see that the text appears italicized not bolded and italicized as expected. Generally, only the innermost tag will get the style and will overwrite its parent styles.
    Notice the XML is generated dynamically and tags order is not enforced. Also, there's an additional underline tag that can be nested with these two.
    So far I have tried to use GREP styles (with paragraph styles), but these do not have effect in the XML tags.
    Other possible options not tried yet:
    Create new tags for every formatting combination. Not what I really want because I could en up with a lot of tags each one with a corresponding styles.
    Create InDesign XML rules to apply character styles automatically based on the tags
    Use character styles in the XML with the aid namespace referencing InDesign styles. Will this really work?
    What do you suggest to go for? See any other option?
    Thank you in advance.
    Juan

    I'd say that you should create tags not for appearances, but for semantic content. Specifying formatting styles in your XML betrays your lack of familiarity with the format, because the last thing you'd want to do would be to use HTML markup in the middle of your XML. If you have content that's supposed to be both bolface and oblique - say, a warning - then it's marked up as
    <warning>Never refer directly to formatting in your XML markup, only to content types!</warning>
    If I had a document that was written in the style you suggest - one with lots of overlapping local formatting - I'd look at developing a better style guide that told the writers that doing so would be bad form. Because, you know, many of the writers I deal with are addicted to forms of emphasis that do nothing useful whatsover for their readership - they only serve to overemphasize the authorial voice of the writers.
    Maybe you could tell us why you need these overlapping forms of styling, and we could suggest other InDesign formatting tools (like line styles or nested styles) that would help you get the appearance you want without crowding styling markup into your XML - where, strictly speaking, it doesn't really belong.

  • Grep Styles

    How to change this two lines formatted with Bold, regular and italic, and change it to all bold in Grep Style.
    I need to do it several times, but how to get the right script in grep to find Bold face at the beginning then a tab
    then a regular 11 pts and return plus tab and italic text in parenthesis, see example below:
    P. 1.  ¿Cuán cierta y segura será la segunda venida de Cristo? 
             (Hebreos 9:28)

    Probably not a candidate for a GREP style. GREP styles are used to apply character styles to text matching the Query string. This looks, at least to me, as if you want to apply a paragraph style. You could maybe use a find/change GREP query to do that, but you can't base it on multiple formatting, only the pattern in the text itself.
    Right now, if I had to guess, I would say there is a paragraph style applied that uses either a numbered list (can you select the P.1. ?) and a nested style, or two nested styles to make the page number bold and the verse italic. If that's the case, you might be able to just re-define the style.
    Do you really want to remove the italics, or make them bold italics? Do all the paragraphs start with P. and a digit or digits and end at the closing parenthesis?

  • Applying paragraph style to a single paragraph affects all previous paragraphs

    Hey,
    I'm trying to create a script that would take an array of text objects that describe what the text and style of a particular line of text is. And in some lines to apply Character Styles as well.
    The problem is that, while the script works when the loop is in the character styles "mode", it seems to apply the paragraph styles to all the previous lines of text when the aforementioned object asks it to apply only the paragraph style (no character styles).
    The offending line is this:
    if ( typeof line.text == 'string' ) {
        frame.contents += "\r" + line.text;
        frame.parentStory.paragraphs[-1].appliedCharacterStyle = doc.characterStyles[0];
        frame.parentStory.paragraphs[-1].applyParagraphStyle(style);
        continue;
    I even copied the style-apllying lines from the Character-Styles-applying section of the script (the else part), but it still applies the style to all the previous lines of text. The script below is the full code I have I long with one of the objects that text data. If I comment out the "offending lines" mentioned above, the script applyes all the styles correctly. Otherwise, only the last line (the Product - Description style) is applied, while all the previous lines attain the 'Spacer' style.
    Can anyone see what I'm doing wrong? (sorry for the giant piece of code, but I can't pin-point what's not relevant here).
        'text': [
                'style': 'Product - Title No Indent',
                'text': [
                    'Test Product',
                        'style': 'Superscript',
                        'text': '®'
                    ' Title'
            { 'style': 'Spacer', 'text': ' x' },
            { 'style': 'Spacer', 'text': ' x' },
            { 'style': 'Spacer', 'text': ' x' },
                'style': 'Product - Description',
                'text': ['Designed for monitoring steam sterilization processes.']
    function add_text_to_frame (frame, product) {
        var i, l, j, k, line, style, line_styles, char_style, line_text, bit;
        for ( i = 0, l = product.text.length; i < l; i++ ) {
            line = product.text[i];
            style = doc.paragraphStyles.item( line.style );
            if ( typeof line.text == 'string' ) {
                frame.contents += "\r" + line.text;
                frame.parentStory.paragraphs[-1].appliedCharacterStyle = doc.characterStyles[0];
                frame.parentStory.paragraphs[-1].applyParagraphStyle(style);
                continue;
            else {
                line_styles = new Array();
                line_text = '';
                for ( j = 0, k = line.text.length; j < k; j++ ) {
                    bit = line.text[j];
                    if ( typeof bit == 'string' ) {
                        line_text += bit;
                    else {
                        line_styles.push({
                            'start': line_text.length,
                            'end': line_text.length + bit.text.length,
                            'style': bit.style
                        line_text += bit.text;
                frame.contents += "\r" + line_text;
                frame.parentStory.paragraphs[-1].appliedCharacterStyle = doc.characterStyles[0];
                frame.parentStory.paragraphs[-1].applyParagraphStyle(style);
                for ( j = 0, k = line_styles.length; j < k; j++ ) {
                    char_style = doc.characterStyles.item(line_styles[j].style);
                    frame.parentStory.paragraphs[-1].characters.itemByRange(
                        line_styles[j].start,
                        line_styles[j].end
                    ).applyCharacterStyle(char_style, true);

    Here's the shortest code with the problem I could come up with.... You can run it if you create two different default paragraph styles: 'Product - Description' and 'Product - Title No Indent';
    The problem is that the first line should have 'Product - Description' style, but it instead it gets 'Product - Title No Indent'.
    If I comment out one of the paragraphs, everything works fine. What's wrong?
    var doc = app.documents.add(),
        product, text_frame, i, l;
    product = {
        'text': [
                'style': 'Product - Description',
                'text': 'Designed for monitoring sterilization processes.'
                'style': 'Product - Title No Indent',
                'text': 'Designed for monitoring sterilization processes.'
                'style': 'Product - Description',
                'text': 'Designed for monitoring sterilization processes.'
    text_frame = doc.pages[0].textFrames.add();
    text_frame.geometricBounds = [ '0pt', '0pt', '240pt', '300pt'];
    for ( i = 0, l = product.text.length; i < l; i++ ) {
        text_frame.contents += "\r" + product.text[i].text;
        text_frame.parentStory.paragraphs[-1].appliedCharacterStyle = doc.characterStyles[0];
        text_frame.parentStory.paragraphs[-1].applyParagraphStyle(
            doc.paragraphStyles.item( product.text[i].style )

  • How do I use mono and 1 spot colour for print, where the spot colour applies to an element, rather than the whole image?

    I am struggling to work with spot colours, using scanned images edited in Photoshop for use in InDesign to then go to print.
    We print to two plates to save money for our publication. In this case magenta and black.
    I could use the spot colour mode but that works with curves and I only want a certain part magenta. Imagine a business card with a gloss finish where I only want to apply it to certain part ie the name of the employee, using a curve would match a certain shade therefore this method would be unsuitable.
    I have also tried using channels, one grayscale and one magenta, but using the file types either InDesign bugs or it comes out in mono.
    It isn't possible to recreate the logo in InDesign, if only it was this easy...
    If someones already discussed this, I can't find it, but if someone could point me in the right direction—I'd be very grateful!
    Using Photoshop CS4, InDesign CS4. Access to Adobe Cloud at home...

    I'm assuming at least some people on here must have experience of the Scintilla control for creating a Notepad++ type application. I'd like to use this control, unfortunately there is very little in the way of documentation or working examples
    around
    >unfortunately there is very little in the way of documentation
    Have you read all of this?
    Scintilla Documentation
    http://www.scintilla.org/ScintillaDoc.html
    >or working examples around
    Have you examined this project in detail?
    SciTE is a SCIntilla based Text Editor.
    http://www.scintilla.org/SciTE.html
    SciTE Documentation
    http://www.scintilla.org/SciTEDoc.html
    - Wayne

  • RegEx: How to find out which part of the pattern failed?

    Hi there,
    I was wondering: is there any way to find out where the pattern matching failed?
    Say I got the string "John Paul Yoko Ringo", and I want to match it against the pattern /John Paul George Ringo/.
    I would like to know something like "pattern failed at index 11", or if I had groups something like "matching group 3 failed".
    Is there any way to do this? Thanks in advance!
    Best regards,
    - Torben

    jschell wrote:
    I would like to know something like "pattern failed at index 11", or if I had groups something like "matching group 3 failed".
    Is there any way to do this? Thanks in advance!
    I wonder if that is reasonable. It means that the parse tree for the regex would need to keep mapping information.
    At a minimum it is going to require an array, not a single result, because a regex can 'fail' in many ways.
    Consider the following regex with the following input
    /(a|b)d/
    abababababx
    Where does it 'fail'?Right. If you just want the character position at which it failed, those tools might tell you that as part of a bigger picture. But by itself, without any context, that number's not necessarily meaingful. A given character can be examined many times due to backtracking. Part of the expression could succeed for part of the input, then the expression might fail for the rest, so we backtrack, and may get several more failures, then more partial successes, all at different points, then ultimately it may fail anywhere within the input.
    So just knowing where isn't enough. You need to know what steps were taken to get there. I do think these tools provide that, though I haven't looked closely.

  • How do I apply a grep style to the plus (+) sign?

    I was able to apply a grep style to the minus and equal sign, but not the plus sign "+".  It appears the plus sign means 'apply to all' in the grep style box.  Can some assist me with this? Thanks in advance.

    Thank you. It worked perfectly.

Maybe you are looking for